手机游戏
经典单机
角色扮演
休闲益智
动作冒险
射击枪战
赛车竞速
模拟经营
解密闯关
策略战争
手机软件
时尚购物
体育运动
资讯阅读
教育学习
摄影摄像
生活服务
效率办公
聊天社交
视频盒子
其它软件
新闻资讯
游戏攻略
软件教程
游戏问答
软件资讯
软件技术
叨叨念念
网站技术
技术问答
软件教程
资源资料
原创作品
代码学习
网页设计
网络技术
合集
合集
游戏合集
软件合集
资讯合集
视频合集
首页 > 代码学习 > 代码学习

PHP冒泡排序算法

作者:星知苑 时间:2013-04-15 23:07:24

冒泡排序算法是一个经典的常用排序算法,当然还有一些其他的常用排序算,比如选择排序,插入排序,希尔排序,快速排序。所以也是一种必学的算法,甚至很多公司面试的题目中也有冒泡排序的。

但是冒泡排序毕竟是一种效率低下的排序方法,在数据规模很小时,可以采用。数据规模比较大时,最好用其它排序方法。

 

冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面,直到达到升序排列。

比如:这个数组array(4,3,5,1,2)用冒泡排序算法进行升序排列。

第1个循环循环开始,当前排序4,3,5,1,2[break]

第1趟:比较第1个和第2个数,比较4和3,排列后:3,4,5,1,2

第2趟:比较第2个和第3个数,比较4和5,排列后:3,4,5,1,2

第3趟:比较第3个和第4个数,比较5和1,排列后:3,4,1,5,2

第4趟:比较第4个和第5个数,比较5和2,排列后:3,4,1,2,5

至此第1个循环结束;由于最后一个数字5是最大的,所以只要排序前4位。

第2个循环循环开始,当前排序3,4,1,2

 

第1趟:比较第1个和第2个数,比较3和4,排列后:3,4,1,2

第2趟:比较第2个和第3个数,比较4和1,排列后:3,1,4,2

第3趟:比较第3个和第4个数,比较4和2,排列后:3,1,2,4

至此第2个循环结束;由于最后一个数字4是最大的,所以只要排序前3位。

第3个循环循环开始,当前排序3,1,2,

 

第1趟:比较第1个和第2个数,比较3和4,排列后:1,3,2

第2趟:比较第2个和第3个数,比较4和1,排列后:1,2,3

至此第3个循环结束;由于最后一个数字3是最大的,所以只要排序前2位。

 

 

第4个循环循环开始,当前排序:1,2

第1趟:比较第1个和第2个数,比较3和4,排列后:1,2

至此第4个循环结束;到此排序已经全部升序。

 

由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。

以下就是PHP中的冒泡排序中的一种:

 

<?php
$a = array(4,3,5,1,2); //这里随便创建一个一维数组;
$n = count($a);     //算出数组的元素总个数;
for($i=0;$i<$n-1;$i++){//需要进行的循环次数
for ($j=0;$j<$n-1-$i;$j++){//每次循环的比较次数
if($a[$j]>$a[$j+1]){ //比较数的大小,数小提前,数大排后
$tmp=$a[$j+1]; 
$a[$j+1]=$a[$j]; 
$a[$j]=$tmp;
}
}
}
print_r($a); //输出排列好的数组
?>

 

良心推荐

大型战争策略手游
  • 卧龙吟手游下载
  • 末日远征手游官网版
  • 大秦帝国之帝国烽烟破解版下载
  • 战争怒吼手游下载
  • 巅峰坦克手游下载
  • 阿比斯之旅完整破解版
烧脑的游戏一般都是以策略游戏为主,能够在游戏中随时体验到那种战场厮杀的大型的场面,不仅有着万马奔腾的燃烧热血还有雷鼓口号震天响的那种天下有我舍我其谁的英雄之气概,乱世总是需要有王者的诞生,很多的类型题材的策略,三国类型或是海上战争以及高科技的宇宙战舰等战争是不断的升级,这里肯定是有你喜欢的策略大作游戏。

相关资讯