黑马程序员技术交流社区

标题: 【上海校区】冒泡排序 [打印本页]

作者: 梦缠绕的时候    时间: 2019-12-20 09:25
标题: 【上海校区】冒泡排序
1、基本算法思想:
l依次比较相邻的两个元素,消除逆序(逆序是数学上的概念,是成对出现的,比如50,30就是一对逆序,所谓的消除逆序,就是大的放后面,小的放前面)
l这样,一轮比较下来,最大的那个数一对是在最后面!
l然后,再继续新的一轮的比较,注意,刚才一轮后的最大值不再参与比较,这样,这一轮参与比较的数值就比上一轮少一个,如此反复,直到最后只剩下两个数值比较为止!

所以:应该是一个双重循环,外层控制轮数,内层控制每轮比较的次数!

2、示例代码:
<?php
echo '<pre>';
function maopao($arr){

for($i=1,$len=count($arr);$i<$len;$i++){
for($k=0;$k<$len-$i;$k++){
if($arr[$k]>$arr[$k+1]){
$tem = $arr[$k];
$arr[$k] = $arr[$k+1];
$arr[$k+1] = $tem;
     }
    }
}
return $arr;
}
$arr1 = array(78,90,67,45,23,12,34,54,32);
var_dump(maopao($arr1));




作者: 梦缠绕的时候    时间: 2019-12-20 09:25
欢迎添加学姐微信
DKA-2018




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2