冒泡排序

来源:互联网 发布:软件导刊杂志社 编辑:程序博客网 时间:2024/04/29 15:42
// 时间复杂度:O(n^2)function bubbleSort(&$arr){$len = count($arr);for($i = 0; $i < $len - 1; $i++) {for($j = 0; $j < $len - 1 - $i; $j++) {if($arr[$j] > $arr[$j+1]) {$temp = $arr[$j];$arr[$j] = $arr[$j+1];$arr[$j+1] = $temp;}}}}


改进:

function bubbleSort(&$arr){$len = count($arr);$isSorting = true; //默认假定数组是有序的for($i = 0; $i < $len - 1; $i++) {for($j = 0; $j < $len - 1 - $i; $j++) {if($arr[$j] > $arr[$j+1]) {$temp = $arr[$j];$arr[$j] = $arr[$j+1];$arr[$j+1] = $temp;// 若第一趟排序中一次也没有交换过,则数组是有序的,否则是无序的$isSorting = false;}}if($isSorting)break;}}


0 0