本文共 2166 字,大约阅读时间需要 7 分钟。
public static function swap ( &$a , &$b ) { // $a = $a + $b; // $b = $a - $b; // $a = $a - $b; $a = $a ^ $b; $b = $a ^ $b; $a = $a ^ $b; }
public static function Bubble(&$arr){ $len = count($arr); for ( $i = 0 ; $i < $len - 1 ; $i++ ){ for( $j = 0 ; $j < $len - $i - 1 ; $j++){ if ($arr[$j] > $arr[$j + 1 ]){ $arr[$j] = $arr[$j] ^ $arr[$j+1]; $arr[$j+1] = $arr[$j] ^ $arr[$j+1]; $arr[$j] = $arr[$j] ^ $arr[$j+1]; } } } return true; }
public static function QuickSort(&$arr){ if ( count($arr) > 1 ){ $k = $arr[0]; $x = array(); $y = array(); $len = count($arr); for ( $i = 1 ; $i < $len ; $i++){ if ($k > $arr[$i] ){ $x[] = $arr[$i]; }else{ $y[] = $arr[$i]; } } $x = self::QuickSort($x); $y = self::QuickSort($y); return array_merge($x,array($k),$y); }else{ return $arr; } }
public static function selectionSort(&$arr){ $len = count($arr); for ( $i = 0 ; $i < $len - 1 ; $i++){ $min = $i; for($j = $i + 1 ; $j < $len ; $j++){ if ($arr[$min] > $arr[$j]){ $min = $j; } } if ($min != $i){ $arr[$min] = $arr[$min] ^ $arr[$i]; $arr[$i] = $arr[$min] ^ $arr[$i]; $arr[$min] = $arr[$min] ^ $arr[$i]; } } return $arr; } public static function straightInsertSort(&$arr){ $len = count($arr); for ($i = 1 ; $i < $len ; $i++){ $insertElem = $arr[$i]; for( $j = $i - 1 ; $j >= 0 ; $j-- ){ if($insertElem < $arr[$j]) { $arr[$j+1] = $arr[$j]; $arr[$j] = $insertElem; }else{ break; } } } return true; }
转载地址:http://mfoii.baihongyu.com/