冒泡排序
<?php
/*
冒泡排序是非常容易理解和实现,以从小到大排序举例:
设数组长度为N。
1.比较相邻的前后二个数据,如果前面数据大于后面的数据,就将二个数据交换。
2.这样对数组的第0个数据到N-1个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1个位置。
3.N=N-1,如果N不为0就重复前面二步,否则排序完成
*/
function b_sort($arr) {
$len = count($arr);
//3
foreach ($arr as $key => $value) {
//2
for ($i = 1; $i< $len-$key; $i++) {
//1
if ($arr[$i] < $arr[$i - 1]) {
$tmp = $arr[$i - 1];
$arr[$i - 1] = $arr[$i];
$arr[$i] = $tmp;
}
}
}
return $arr;
}
$arr = [1,21,2,3,333,4,23];
$res = b_sort($arr);
print_r($res);

本文详细介绍了冒泡排序算法的基本原理及其实现过程。通过PHP代码示例,讲解了如何通过比较相邻元素并交换位置来对数组进行排序,最终使最大元素逐渐移到数组末尾,完成整个数组的排序。
97

被折叠的 条评论
为什么被折叠?



