冒泡排序
1、比较相邻元素,若前一个比后一个大,则交换。
2、对每一对相邻元素进行1操作,直至最后一对。此时最后一个因为最大值。
3、除最后一个外,重复以上操作
4、重复以上操作,直至排序完成。
示例地址:https://www.vqqc.cn/try/php/basics/bubble.php
示例代码
<?php
// 数组排序算法冒泡排序
$arr = array(1,4,2,9,7,5,8);
// 2、想办法让下面可以每次找出最大值的代码重复执行
for($i = 0, $len = count($arr); $i < $len; $i++){
//1,想办法将最大值放到最右边去
for($j = 0; $j < $len - 1; $j++) {
// 判断两两相比
if($arr[$j] > $arr[$j+1]) {
// 左边比右边大: 交换
$temp = $arr[$j];
$arr[$j] = $arr[$j+1];
$arr[$j+1] = $temp;
}
}
}
echo '<pre>';
print_r($arr);
返回结果
Array
(
[0] => 1
[1] => 2
[2] => 4
[3] => 5
[4] => 7
[5] => 8
[6] => 9
)
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容