php快速排序分割两部分,php四大算法|冒泡排序|快速排序|二分查找

php中有四大算法:

这种算法现在虽然用的不是太多,但面试的时候,很多人都会去问

什么叫冒泡排序法?

怎么写,写一段吧

这就是冒泡排序法,按照从大到小或从小到大的顺序进行排列。

冒泡排序法:

1、首先要知道循环的次数

2、双层循环

3、是从大到小还是从小到大 (决定压入数组的顺序)

每当两个相邻的数进行比较后,发现他们的排序与排序规则不一样的时候,

则两个数进行位置互换。

//lt 从大到小

//gt从小到大

1、冒泡排序法$arr=array(3,8,4,6,5,7,9);

$arr=px($arr,"lt");

function px($arr,$dig="gt"){

$len=sizeof($arr);

for($i=1;$i

for($j=0;$j

if($dig=="gt"){

if($arr[$j]>$arr[$j+1]){

$tmp=$arr[$j+1];

$arr[$j+1]=$arr[$j];

$arr[$j]=$tmp;

}

}else if($dig=="lt"){

if($arr[$j]

$tmp=$arr[$j+1];

$arr[$j+1]=$arr[$j];

$arr[$j]=$tmp;

}

}

}

}

return $arr;

}

echo "

";

print_r($arr);

echo "

";

php冒泡排序有多种写法:

第一种:function arrSort($arr) {

for ($i = 1, $len = count($arr); $i 

for ($j = 0; $j 

if ($arr[$j] 

$temp = $arr[$j + 1];

$arr[$j + 1] = $arr[$j];

$arr[$j] = $temp;

}

}

}

return $arr;

}

2018-11-24

第二种:function arrSort($arr) {

$num = 0;

for ($i = 1; $i 

for ($j = 0; $j 

if ($arr[$j] > $arr[$j + 1]) {

$temp = $arr[$j];

$arr[$j] = $arr[$j + 1];

$arr[$j + 1] = $temp;

}

$num++;

}

}

echo $num;

return $arr;

}

区别在于声明变量处,第一种方法声明了一个length

这种冒泡是精简的算法,最少的排序次数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值