插入排序:直接插入排序,希尔排序
直接插入排序:
稳定性:不改变相同关键字序列,稳定
ASL:
:
解释说明:
序 号:0 1 2 3 4 5 6 7 8
监视哨: 34 12 49 28 31 52 51 49*
第一趟: 34
第二趟: 12 34
第三趟: 12 34 49
第四趟: 12 28 34 49
第五趟: 12 28 31 34 49 52
第六趟: 12 28 31 34 49 51 52
第七趟: 12 28 31 34 49 49* 51 52
#include <stdio.h>
#define maxsize 10
void InsertSort(int a[],int n){
int i,j,k,t;
for(i = 1;i < n;i++){
k = i;
while(k >= 1){
if(a[k] < a[k - 1])
t = a[k],a[k] = a[k - 1],a[k - 1] = t;
k--;
}
}
for(i = 0;i < n;i++)
printf("%d ",a[i]);
}
int main()
{
int n = 10,a[10]={1,7,3,9,5,2,4,8,6,10};
InsertSort(a,n);
return 0;
}