您的位置:首页 > 编程语言 > C语言/C++

基础排序算法 – 插入排序Insertion sort

2013-04-08 09:39 295 查看
插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。
图例:




C语言代码:

#include <stdio.h>
int main()
{
int a[5]={5,4,3,2,1},i;

printf("原本的数字为:");
for(i=0;i<5;i++)
{
printf("%d ",a[i]);
}
printf("\n");

void insert (int a[],int n);
insert (a,5);

printf("插入法排序后:");
for(i=0;i<5;i++)
{
printf("%d ",a[i]);
}
return 0;
}

//插入法
void insert(int a[],int n)
{
int i,j,temp;
for(i=1;i<n;i++)
{
temp=a[i];//temp为要插入的元素
j=i-1;
while(j>=0&&temp<a[j])//从a[i-1]开始找比a[i]小的数,并把数组元素后移
{
a[j+1]=a[j];
j--;
}
a[j+1]=temp;//插入
}
}

引用:http://www.cnblogs.com/kkun/archive/2011/11/23/2260265.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息