摘要: 首先来一个工厂模式的例子class factoryClass{/**** @return className_Abstract //注意这里最好写上返回值类型,在zend Studio里边可以自动提示一些接口,*/public static function factory($adapter, $config = array()){ if(...) { return new className1(); } else { return new className2(); } ......}}再来一个策略模式:class strategyClass{ private $_pen; public f 阅读全文
posted @ 2011-08-16 17:49 安子 阅读(664) 评论(1) 推荐(0)
摘要: /*** 快速找到第k大的数*/function fastGetK($arr, $k) {$key = array_rand ( $arr );$val0 = $arr [$key];unset ($arr [$key]);$left = array ();$right = array ();foreach ( $arr as $keyv => $val ) {//if($keyv==$key) continue;if ($val0 < $val) {$right [] = $val;} else {$left [] = $val;}}$lenr = count ( $right 阅读全文
posted @ 2011-08-16 17:27 安子 阅读(158) 评论(0) 推荐(0)
摘要: 其实我工作中很少用到排序算法为了提高自己写算法的速度这几天自己打算实现几个成熟的算法/*** 快速算法**/function fastSort($arr) {if (count ( $arr ) <= 1) {return $arr;}$key = array_rand ( $arr );$val0 = $arr [$key];$left = array ();$right = array ();foreach ( $arr as $key1 => $val ) {if ($key1 != $key) {if ($val > $val0) {$right [] = $val; 阅读全文
posted @ 2011-08-16 17:25 安子 阅读(215) 评论(0) 推荐(0)