插入排序

原理:
 
(个人理解:循环从1开始,比较下标0和1的大小, 把选择中的按循序排练, 没次循环取未进行排列过的进行和已排列过的进行比较插入)
例如:学生战队(从低到高),第一个人无论高低站在一个位置上, 第二个人和第一个人比较,第二个人比第一个人高,则保持不变,低则站在第一个人前面, 第三个人在和第一个人,第二个人比较...
 
运行效果:

 

核心代码:

int[] arr = { 23, 44, 66, 11, 3, 76, 98, 9, 7 };
for (int i = 1; i < arr.Length; i++)
{
    int j = i;
    int target = arr[i];
    //后移
    while (j > 0 && target > arr[j-1])
    {
        arr[j] = arr[j - 1];
        j--;
    }
    arr[j] = target;
}

 

复杂度

...

posted @ 2017-04-07 15:04  一只大老鼠  阅读(85)  评论(0编辑  收藏  举报