llgd.net
当前位置:首页 >> php 冒泡 >>

php 冒泡

function bubble_sort($array) { $count = count($array); if($count

//首先定义一个数组;

$arr=array(1,43,54,62,21,66,32,78,36,76,39); function getpao($arr){ $len=count($arr); //设置一个空数组 用来接收冒出来的泡 //该层循环控制 需要冒泡的轮数 for($i=1;$i

这段代码稍微有点问题,count($arr) -$i 才是正解。 count($arr)-1会多循环进行一些没有意义的判断,浪费时间,第二层循环只需要到count($arr) -$i 就行了

$ar = array("1","2","6","4","4");function bubble1($ar){ $len = count($ar); if($len > 1){ for($i = 0;$i < $len;$i++){ for($j = $len -1;$j > $i;$j-- ){ if($ar[$j-1] > $ar[$j] ){ $tmp = $ar[$j]; $ar[$j] = $ar[$j-1]; $ar[$j-1] = $t...

冒泡排序实现原理 ① 首先将所有待排序的数字放入工作列表中。 ② 从列表的第一个数字到倒数第二个数字,逐个检查:若某一位上的数字大于他的下一位,则将它与它的下一位交换。 ③ 重复步骤②,直至再也不能交换。 代码实现 代码如下:

foreach ($arr1 as $key => $val) { $tmp = explode('-',$val['birth']); var_dump($tmp); ----$time = mktime(0,0,0,$tmp[1],$tmp[2],$tmp[3]);-- $array[$time] = $val; } 将$arr1里的日期转换成时间戳并作为关联数组的键值,这里错了,----$t...

冒泡排序的核心思想是两两比较,将较大值放在后面的位置,比如第一个和第二个比,如果第一个大,那么将第一个和第二个换位置,这样循环后大数将被移动到后面,小数在前面。这一步正是比较大小,如果大就换位置,如果不大就保持原位置。

你的那个asort函数里面实现的就是类似他写的冒泡算法,排序算法有很多种。他只是用了自己写冒泡算法而已。没有像你使用了php自带的排序函数。

网站首页 | 网站地图
All rights reserved Powered by www.llgd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com