版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010095372/article/details/84258154
就相当于把整个数列吊起来,然后一个一个上,每次进入的时候,都保证插入之后是有序的
void insertSort(int a[], int n)
{
int i, j, temp;
//从第二个开始走,走到最后
for (i = 1; i <= n; i++) {
//要是后一个比前一个小就触发调整机制
if (a[i] < a[i-1]) {
//将被插入的这个元素临时记录,顺便给前一个腾出位置
temp = a[i];
//一路跟前面已有的元素比过去,要是比它小的那就腾出位置
//腾位置就是后面的元素等于前面元素的值
for (j = i-1; temp < a[j]; j--) {
a[j+1] = a[j];
}
//藤完为止之后,就在j+1的位置插入temp
a[j+1] = temp;
}
}
}
5260391748
2560391748
2560391748
0256391748
0235691748
0235691748
0123569748
0123567948
0123456798
0123456789
0123456789