什么是冒泡排序
冒泡排序(英语:Bubble Sort,台湾另外一种译名为:泡沫排序)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。但其实在实际过程中也可以根据自己需要反过来用,大数往前放,小数往后放。
通俗理解冒泡排序:我理解冒泡排序就是小学生排队,你比我个子矮(数字小),你就站我前面(浮上去),直到找到比我个子高那个,我站在他的前面,他继续往后面比个子!
php冒泡排序的实现
比如有一个数组array (12,45,28,30,88,67);我们要对数组中的元素进行排序,具体实现源码如下:
<?php
/**
* PHP中的冒泡排序法使用
*/
// 作者:www.manongjc.com
// 预先声明一个数组
$arr = array (12,45,28,30,88,67);
echo \"原数组\";
print_r($arr);
echo \"<br/>\";
//冒泡排序
function maopao($arr){
// 进行第一层遍历
for($i=0,$k=count($arr);$i<$k;$i++) {
// 进行第二层遍历 将数组中每一个元素都与外层元素比较
// 这里的i+1意思是外层遍历当前元素往后的
for ($j=$i+1;$j<$k;$j++) {
// 内外层两个数比较
if($arr[$i]<$arr[$j]){
// 先把其中一个数组赋值给临时变量
$temp = $arr[$j];
// 交换位置
$arr[$j] = $arr[$i];
// 再从临时变量中赋值回来
$arr[$i] = $temp;
}
}
}
// 返回排序后的数组
return $arr;
}
// 直接打印排序后的数组
echo \'排序后\';
print_r(maopao($arr));
?>
通过以上代码执行结果
原数组
Array ( [0] => 12 [1] => 45 [2] => 28 [3] => 30 [4] => 88 [5] => 67 )
排序后
Array ( [0] => 88 [1] => 67 [2] => 45 [3] => 30 [4] => 28 [5] => 12 ) 继续阅读与本文标签相同的文章
-
美国让华为更强大,9个月入账6千亿增速超2成,5G合同已签60多份
2026-05-14栏目: 教程
-
未来几年,这4个大学专业最吃香,前景广阔堪称铁饭碗!
2026-05-14栏目: 教程
-
这间屋子没有电话
2026-05-14栏目: 教程
-
曾经扬言“我要摧毁人类”的机器人,在拥有公民身份后,近况如何?
2026-05-14栏目: 教程
-
中国客车“抢眼”世界客车博览会
2026-05-14栏目: 教程
