1.冒泡排序
function bubbleSort($array) { $len = count($array); for ( $i = 0; $i < $len; $i++ ) { $count = 0; for ( $j = 0; $j <= $len - $i; $j++ ) { if ( $array[$j] > $array[$j + 1] ) { $temp = $array[$j + 1]; $array[$j + 1] = $array[$j]; $array[$j] = $temp; $count++; } } if ( $count == 0 ) { break; } } }2.选择排序
function selectSort($array) { $len = count($array); for ( $i = 0; $i < $len - 1; $i++ ) { $p = $i; for ( $j = $i + 1; $j < $len; $j++ ) { if ( $array[$p] > $array[$j] ) { $p = $j; } } if ( $p != $i ) { $temp = $array[$p]; $array[$p] = $array[$i]; $array[$i] = $temp; } } return $array; }3.插入排序
function insertSort($array) { $len = count($array); for ( $i = 1; $i < $len; $i++ ) { $temp = $array[$i]; for ( $j = $i - 1; $j >= 0; $j-- ) { if ( $temp < $array[$j] ) { $array[$j+1] = $array[$j]; $array[$j] = $temp; } else { break; } } } return $array; }4.快速排序
function quickSort($array) { $len = count($array); if ( $len <= 1 ) { return $array; } $baseNum = $array[0]; $leftArray = array(); $rightArray = array(); for ( $i = 1; $i < $len; $i++ ) { if ( $baseNum > $array[$i] ) { $leftArray[] = $array[$i]; } else { $rightArray[] = $array[$i]; } } $leftArray = $this->quickSort($leftArray); $rightArray = $this->quickSort($rightArray); return array_merge($leftArray, array($baseNum), $rightArray); }
新闻热点
疑难解答