Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3349025
  • 博文数量: 1450
  • 博客积分: 11163
  • 博客等级: 上将
  • 技术积分: 11101
  • 用 户 组: 普通用户
  • 注册时间: 2005-07-25 14:40
文章分类

全部博文(1450)

文章存档

2017年(5)

2014年(2)

2013年(3)

2012年(35)

2011年(39)

2010年(88)

2009年(395)

2008年(382)

2007年(241)

2006年(246)

2005年(14)

分类: C/C++

2006-04-24 14:34:46

插入排序法

设从位置0到位置i的元素是已经排序好的,则现在需要将i+1到N-1之间的元素进行插入排序。这需要执行((N-1) - (i+1))趟插入排序。如果所有元素已排序好,则该算法执行时间为O(N), 当所有元素为倒序时,该算法执行最长时间O(N2)

算法:

void InsertSort(int arr[], int N)
{
    int i,j;
    for(i=1; i    {
        int tmp = arr[i];
        for(j=i;  j>0  &&  arr[j-1] > tmp;  j-- )
        arr[j] = arr[j-1];
        arr[j]=tmp;
    }
}
阅读(1026) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~