码迷,mamicode.com
首页 > 编程语言 > 详细

直接插入排序C语言实现

时间:2015-07-24 23:53:37      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:

直接插入排序是最简单的排序算法,基本思想是每次将一个带排序的记录,按其关键字大小插入到前面已排序好的子序列中,直到全部数据完成。

其相应的C代码实现如下:

 

 

#include "stdio.h"

void InsertSort(int a[], int n)  //直接插入排序
{
int i,j,temp=0;
for(i=1;i<n;i++)
{
if(a[i]<a[i-1])
{
temp = a[i];
for(j=i-1;j>=0 && a[j]>temp;j--)
{
a[j+1]=a[j];
}
a[j+1]=temp; //
}
}

}

void main()
{
int a[10]={0,6,67,34,56,45,12,4,7,49};
int i=0;
InsertSort(a,10);
for(i=0;i<10;i++)
printf("%d ",a[i]);

}

 

该算法的时间复杂度为O(n^2),空间辅助度为O(1),由于该排序算法先比较记录的大小,因此是稳定的排序算法。

直接插入排序C语言实现

标签:

原文地址:http://www.cnblogs.com/beer2100/p/4674966.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!