[算法]插入排序
参考:http://baike.baidu.com/view/1443814.htm
1.无序数组升序排序.(无插入)
int a[MAXLENGTH]={1,7,9,2,5,3,8,6,4,10};
for(int i=1;i<MAXLENGTH;i++){
int t=a[i];//待插入的数
int j=i; //待插入的位置
while(j>0 &&a[j-1]>t){ //当前面的数字更大的时候
a[j]=a[j-1]
a[j-1]=t //插入到小一位
j-- //继续跟前面比较
}
}
}
}
2.已有升序(降序)的数组,插入数据后依然升序(降序)
int a[10]={1,2,3,4,6,7,8,9,10};
printf("input number:\n");
scanf("%d",&n);
for(int i=0; i<9;i++){
if(n>a[i]){
for(int s=8;s>=i;s--){
a[s+1]=a[s]; //往后移,指导i位置
}
}
break;
}