php 实现冒泡、选择、插入和快速排序详解

    xiaoxiao2021-12-14  20

    1、冒泡排序思路分析:在要排序的一组数中,对当前还未排好的序列,从前往后对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即,每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。

    function maopao($arr){ $count = count($arr); $center = ''; for($i=1;$i<=$count;$i++){ for($m=0;$m<$count-$i;$m++){ if($arr[$m] > $arr[$m+1]){ $center = $arr[$m]; $arr[$m] = $arr[$m+1]; $arr[$m+1] = $center; } } } return $arr; } $arr = array(4,7,22,44,9,3,55); var_dump(one($arr));

    冒泡排序顾名思义:通俗的说就是每次交换2个相邻数字的位置,根据其大小,由于是往右交换,所以第一次循环以后最大的就沉淀在了最后面,故此 m< count-$i 第二次循环的次数会随着大的沉淀而减少 例如定义的数组,其过程为: 1次循环 4 7 22 9 3 44 55 2次循环 4 7 9 3 22 44 55 3次循环 4 7 3 9 22 44 55 4次循环 4 3 7 9 22 44 55 5次循环 3 4 7 9 22 44 55

    转载请注明原文地址: https://ju.6miu.com/read-968483.html

    最新回复(0)