【DAY.2】PHP数据结构与算法_排序_冒泡排序
来源:互联网 发布:软件项目实施步骤 编辑:程序博客网 时间:2024/06/07 08:29
思路分析:循环逐个对比,从第一个开始,与下一个数字进行对比,若大于则交换位置,每循环一遍将最大的一个排到最后。(依次比较相邻的元素,两两比较,就可以最终将最大(小)的元素调整到最顶端、次顶端、、、)
$arr = array(3,2,5,6,1,8,4,9);
function bubble_sort($arr){
$len=count($arr);
//判断数组是否为空
if($len<=0){
echo '数组不能为空';
exit;
}
for($j=0;$j<$len-1;$j++){
$tmp=false;
//该层循环用来控制每轮,终将最大(小)的元素调整到最末,并设置标志位,发生变动,就置为true,
for($i=0;$i<$len-1-$j;$i++){
$temp=$arr[$i];
if($arr[$i]>$arr[$i+1]){
$tmp=true;
$arr[$i]=$arr[$i+1];
$arr[$i+1]=$temp;
}
}
//如果标志位没有变动,说明,已经排序完毕,结束循环
if($tmp==false){
break;
}
}
return $arr;
}
var_dump(bubble_sort($arr));
0 0
- 【DAY.2】PHP数据结构与算法_排序_冒泡排序
- 【DAY.3】PHP数据结构与算法_排序_选择排序
- 【DAY.4】PHP数据结构与算法_排序_插入排序
- 【DAY.5】PHP数据结构与算法_排序_快速排序
- 【DAY.7】PHP数据结构与算法_排序_堆排序
- 【DAY.8】PHP数据结构与算法_排序_希尔排序
- 数据结构与算法_冒泡排序
- 数据结构(C#)_排序算法(冒泡排序)
- 数据结构_冒泡排序
- 数据结构_冒泡排序
- 排序算法2_冒泡排序
- 排序算法_冒泡排序
- 排序_算法_数据结构
- 算法_冒泡排序算法
- 数据结构与算法_排序算法
- 排序算法-交换排序_冒泡排序
- 经典算法2_冒泡排序
- 经典算法_冒泡排序
- 串口知识总结……
- iOS导出ipa包的四个选项的意义
- MySQL InnoDB索引介绍及优化(初学者)
- 新手要想学好Linux系统就必须做好这四件事情。
- Wex5调用百度地图进行范围签到
- 【DAY.2】PHP数据结构与算法_排序_冒泡排序
- 学习python的第一天
- Android消息角标
- 4-1 Percolate Up and Down (20分)
- Ubuntu16.04 搜狗输入法切换中英文
- Linux_CentOS下调整home和根分区大小
- Python 单元测试:assertTrue 和assertFalse 的真假
- 借助YunOS ,开发技术、运营能力大幅提升
- 鼠标悬停 图片自动放大功能 jquery