您的位置:首页 > 理论基础 > 数据结构算法

直接插入排序

2015-03-26 21:51 134 查看
//从第二个元素开始,跟第一个比较,如果比第一个小,那么将这个
//数用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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息