博客列表 >数组排序-冒泡排序

数组排序-冒泡排序

bokewinner
bokewinner原创
2017年10月06日 16:47:32634浏览

规律描述:

  1. 如果有n个数,就得需要n-1趟比较

  2. 第一趟比较,就把最大的数放在后面,接下来的趟数就得减掉之前比较好的次数,再比较求得"剩余值"的最大值

  3. 相邻两个数比较,把最大的放在后面

$arr = array(12,7,1,15,6);
$len = count($arr);//求数组长度
for($i = 0;$i < $len-1;$i++)//比较的趟数($len-1?因为最后一次只剩下1个数,不用比较)
{
    for($j = 0;$j <($len-1)-$i;$j++)//每一趟比较的次数
    ($len-1-$i?$len-1为每一趟的比较次数;-$i每趟比较比上一趟少一次)
    {
        if($arr[$j] > $arr[$j+1])
        {
            $temp = $arr[$j];
            $arr[$j] = $arr[$j+1];
            $arr[$j+1] = $arr[$j];
        }
    }
}
/*
第一趟:比较4次(第一趟:$i=0 比较次数:$j[0~])
第二趟:比较3次
第三趟:比较2次
第四趟:比较1次
*/

冒泡排序.png

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议