直接插入排序

来源:互联网 发布:hadoop与云计算的关系 编辑:程序博客网 时间:2024/06/07 10:38
//从第二个元素开始,跟第一个比较,如果比第一个小,那么将这个//数用temp保存起来,这个数的下标为i,将j赋值为i-1,在i前面的数//如果比下标为i的大的话,后移,因为这是i已经保存了(在temp中)//所以不用担心丢失,这样到前面的不符合的为止,最后将temp存回去#include<stdio.h>void InsertSort(int k[],int n){int i,j,temp;for(i=1; i<n;i++){if(k[i]<k[i-1]){temp = k[i];for(j=i-1; k[j]>temp ;j--){k[j+1] = k[j];}k[j+1] = temp;}}}int main(){ int i,a[10] = {5,3,2,1,4,9,6,8,7,0}; InsertSort(a,10); for(i=0; i<10;i++) printf("%d",a[i]); return 0;}

0 0