人生当中成功只是一时的,失败却是主旋律。但是如何面对失败,却把人分成了不同的样子,有的人会被失败击垮,有的人能不断的爬起来继续向前...我想真正的成熟应该并不是追求完美,而是直面自己的缺憾,这才是生活的本质
目录
原理
- 将待排序序列分成两个序列,前面的序列保持有序,依次选取后面的序列的元素,在前面的序列中进行插入
- 最初,选择第一个元素默认为有序序列
- 设置一个哨兵(临时变量),保存要插入的元素
- 插入数据,数据从有序序列的末尾开始比较,如果大于哨兵(临时变量),将当前数据向后移动一位.直到碰到比哨兵(临时变量)小的数据,就把临时变量插入到比它小的数据后面.
- 循环执行
图解
代码
<?php
$arr = [10,5,6,87,8,9];
insertSort($arr);
var_dump($arr);
function insertSort(&$arr) {
// 第一层for循环是无序列表中 要插入的元素
// 因为默认把列表第一个数作为有序列表, 所以插入的元素开始位置为2
for ($i=1; $i<count($arr); $i++) {
// 哨兵,存储无序列表中要插入的值
$index &