php冒泡排序
2016-04-09 14:21
477 查看
php之冒泡排序
思路:
1. 一趟比较:从数组的左边起,依次两两比较相邻的两个元素,如果发现左边的元素大于右边的元素,则交换两个元素的位置,这样进行一趟比较后,必然有个最大值排在数组最右边;
2. 一趟比较中假如有n个数据,则两两比较的次数是n-1次,每一趟比较的数据个数都会比前一趟少一个;
3. n个数据,每一趟完成一个数据的位置排序,那么只需要n-1趟次即可确定全部数据的位置排序。
思路:
1. 一趟比较:从数组的左边起,依次两两比较相邻的两个元素,如果发现左边的元素大于右边的元素,则交换两个元素的位置,这样进行一趟比较后,必然有个最大值排在数组最右边;
2. 一趟比较中假如有n个数据,则两两比较的次数是n-1次,每一趟比较的数据个数都会比前一趟少一个;
3. n个数据,每一趟完成一个数据的位置排序,那么只需要n-1趟次即可确定全部数据的位置排序。
function bubbleSort($arr) { $len = count($arr); //外循环决定排序的趟次 for($i=0;$i<$len-1;$i++) { //从数组的左边起,依次两两比较相邻的两个元素,如果发现左边的元素大于右边的元素,则交换两个元素的位置 for($j=0;$j<$len-1-$i;$j++) { if($arr[$j]>$arr[$j+1]) { //交换两个元素位置 $temp = $arr[$j]; $arr[$j] = $arr[$j+1]; $arr[$j+1] = $temp; } } } }
相关文章推荐
- php 中文字符串截取(转载)
- Ubuntu 14.04 FTP服务器--vsftpd的安装和配置
- php curl 提交 json 字符串
- 让PHP7达到最高性能的几个Tips
- PHP文件处理--操作文件
- thinkphp配置
- 一些需要禁用的PHP危险函数(disable_functions)
- php中xml数据接口如何生成及调用
- PHP中的语言结构详解
- php中json数据接口创建及调用
- php中 如何生成jsonp数据接口及如何调用?
- 本地环境 XAMPP+phpStorm+XDebug+chrome 配置和断点调试
- vSphere6.0在生产环境中设置域内NTP服务器
- laravel 使用php服务器测试
- ubuntu搭建PHP环境
- php 获取时间今天明天昨天时间戳
- PHP常用函数大全
- PHP常用函数
- laravel增删改查
- php foreach嵌套的坑