php 冒泡排序

it2022-05-05  106

     冒泡排序是一种交换排序,它的基本思想是两两比较相邻记录的关键字,如果反序则交换,直到没有反序为止。下边的代码严格意义上说不属于冒泡排序算法,因为它不满足“两两比较相邻记录“的冒泡排序思想。

function bubble_sort($arr) { for($i=0; $i<count($arr); $i++){ for($j=$i+1; $j<count($arr); $j++){ if($arr[$i] > $arr[$j]){ $new = $arr[$i]; $arr[$i] = $arr[$j]; $arr[$j] = $new; } } } return $arr; } $arr = array('5', '3', '8', '9', '1', '0'); $sortarr = bubble_sort($arr); print_r($sortarr);

  下边来看正宗的冒泡算法,也是上边代码的改进。

function bubble_sort($arr) { for($i=0; $i<count($arr); $i++){ for($j=count($arr)-1; $j>$i; $j--){ if($arr[$j-1] > $arr[$j]){ $new = $arr[$j-1]; $arr[$j-1] = $arr[$j]; $arr[$j] = $new; } } } return $arr; } $arr = array('5', '6', '8', '9', '1', '0'); $sortarr = bubble_sort($arr); print_r($sortarr);

  上边的算法可以再做优化,这里不再详述。

转载于:https://www.cnblogs.com/Caoxt/p/6401114.html

相关资源:各显卡算力对照表!

最新回复(0)