php插入排序

插入排序

思路分析:在要排序的一组数中,假设前面的数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。

代码实现:

function insert_sort($arr) {

    $len=count($arr);

    for($i=1, $i<$len; $i++) {

        $tmp = $arr[$i];

        //内层循环控制,比较并插入

        for($j=$i-1;$j>=0;$j--) {

            if($tmp < $arr[$j]) {

                //发现插入的元素要小,交换位置,将后边的元素与前面的元素互换

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

                $arr[$j] = $tmp;

            } else {

                //如果碰到不需要移动的元素,由于是已经排序好是数组,则前面的就不需要再次比较   了。

                break;

            }

        }

    }

    return $arr;

}

转自:https://mp.weixin.qq.com/s?__biz=MzUyNDg1Nzg1OA==&mid=2247485012&amp;idx=1&amp;sn=41ab1082fe7467055f143c23b2130c3e&source=41#wechat_redirect

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容