冒泡排序和选择排序
来源:互联网 发布:那些大网站用的cn域名 编辑:程序博客网 时间:2024/06/18 06:45
给一个一维数组排序的两种基本算法:
一、冒泡排序:对数组单元进行相邻两两比较,相邻元素满足条件则相互交换,循环一次在数组最右端得到本次循环的最大值
具体代码实现如下:
// 冒泡排序function bubbling($arr) { // 判断传过来的是否是一个数组 if(!is_array($arr)) { return false; } // 获取数组的长度 $len = count($arr); // 如果数组的<=1,说明不许排序 if($len <= 1) { return $arr; } for($i=1;$i<$len;$i++) { // 控制循环次数 for($j=0;$j<$len-$i;$j++) { if($arr[$j]>$arr[$j+1]) { $tmp = $arr[$j]; $arr[$j] = $arr[$j+1]; $arr[$j+1] = $tmp; } } } return $arr;}// 测试$arr = array(12,3,53,23,77,43,11);var_dump(bubbling($arr));
二、选择排序:每次循环,获取当前没有排好序中最小元素与数组最左端的元素进行交换
具体代码实现如下:
function chooice($arr) {// 判断传过来的是否是一个数组 if(!is_array($arr)) { return false; } // 获取数组的长度 $len = count($arr); // 如果数组的<=1,说明不许排序 if($len <= 1) { return $arr; } for($i=0;$i<$len-1;$i++) { for($j=$i+1;$j<=$len-1;$j++) { if($arr[$i]>$arr[$j]) { $tmp = $arr[$i]; $arr[$i] = $arr[$j]; $arr[$j] = $tmp; } } } return $arr;}// 测试$arr = array(7,2,4,3,8,6);var_dump(chooice($arr));
0 0
- 冒泡排序和选择排序
- 选择排序和冒泡排序
- 选择排序和冒泡排序
- 冒泡排序和选择排序
- 选择排序和冒泡排序
- 选择排序和冒泡排序
- 冒泡排序和选择排序
- 选择排序和冒泡排序
- 冒泡排序和选择排序
- 选择排序和冒泡排序
- 冒泡排序和选择排序
- 选择排序和冒泡排序
- 选择排序和冒泡排序
- 冒泡排序 和 选择排序
- 冒泡排序和选择排序
- 选择排序和冒泡排序
- 冒泡排序和选择排序
- 冒泡排序和选择排序
- 置换群的幂运算总结
- Python3.5安装与ChatterBot聊天机器人使用
- Android6.0 MTK 需求文档(三)
- POJ 1122 FDNY to the Rescue! 已被翻译
- c#方法
- 冒泡排序和选择排序
- hadoop完全分布ssh免密码登录
- unity3D打包成apk
- ASP中recordset所有的属性与方法 简介
- 研究生第一篇学术论文常犯问题总结【喻海良箴言】
- 第二章 CSS3新增的选器之 选择器 last-child last-of-type区别
- uCOS-II任务间通信之邮箱 [转载]
- 打印数字
- 【BZOJ2219】数论之神