您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > php

PHP实现冒泡排序

时间:2019-09-05 17:40:20  来源:  作者:

直接上代码,下面演示的是从低到高排序,也可以新增参数DESC变成从高到低排序

$mpArr = array(10,2,4,6,3,1,3,2,5,9,8,7);
$mpArr = maopao($mpArr);
print_r($mpArr);
/**
*
* 用从小到高的排序说明逻辑:这里我们就需要两次用到for循环。通过第一个for循环来控制数据比较的轮次数,然后通过第二个for循环来控制次数并判断大小交换位置。那么这里的if语句判断的思路就是,如果当前值大于后面的值,就交换位置,把大的值给临时变量$tmpVal。后面的小值替换大值,大值替换小值。
* @param $arr
* @param string $type
*/
public function maopao($arr,$type='ASC'){
$len = count($arr);
$n = $len-1;
for ( $i=0; $i<$len; $i++ ){
for ( $j = 0;$j<$n;$j++ ){
switch ($type){
case 'ASC': //从小到大排序
//当前值大于下个值
if( $arr[$j] > $arr[ $j+1 ] ){
//如果当前的值大于下一个值,放到一个临时数组里
$tmpVal = $arr[$j];
//把下一个值替换当前的值
$arr[$j] = $arr[$j+1];
//把当前值替换下一个值 ,即两个位置互换
$arr[$j+1] = $tmpVal;
}
break;
case 'DESC': //从大到小排序
//当前值小于下个值
if( $arr[$j] < $arr[$j+1] ){
//当前值放到临时数组
$tmpVal = $arr[$j];
//把当前值替换成下个
$arr[$j] = $arr[$j+1];
//下个值替换成当前值,位置互换
$arr[$j+1] = $tmpVal;
}
break;
}
}
}
return $arr;
}

以上代码就是php实现冒泡排序的过程,原理在函数内已经备注了;有关PHP相关的可以相互交流。



Tags:PHP 冒泡排序   点击:()  评论:()
声明:本站部分内容来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除,谢谢。
▌相关评论
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
▌相关推荐
直接上代码,下面演示的是从低到高排序,也可以新增参数DESC变成从高到低排序$mpArr = array(10,2,4,6,3,1,3,2,5,9,8,7); $mpArr = maopao($mpArr); print_r($mpArr); /** * *...【详细内容】
2019-09-05   PHP 冒泡排序  点击:(49)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条