Chinaunix首页 | 论坛 | 博客
  • 博客访问: 447151
  • 博文数量: 138
  • 博客积分: 4114
  • 博客等级: 上校
  • 技术积分: 1341
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-14 20:41
文章分类

全部博文(138)

文章存档

2014年(1)

2013年(2)

2012年(78)

2011年(13)

2010年(34)

2009年(10)

我的朋友

分类: LINUX

2010-03-25 16:19:38


想总结一下以前学习的数据结构排序算法方面的东西。
参考了这个链接中博客的大部分内容,:), 感觉总结的不错, 即自己也记下了
http://blog.csdn.net/zgbsoap/archive/2005/11/14/529202.aspx

排序:
1. 插入排序
2. 选择排序
3. 交换排序
4. 归并排序
5. 基数排序

直接插入排序
说明:  逐个将后一个数插入到前面排好的序的序列中。在直接插入排序过程中,对其中一个记录的插入排序称为一次排序;直接插入排序从第二个记录开始进行的。因此,长度为n的记录序列需要进行n-1次排序才能完成整个序列的排序。时间复杂度为O(n^2)。



void InsertSort(elementypef x[], int n)
{
   int i, j;
   elementype s;
   for (i = 0; i < n-1; i++)
   {
       s = x[i+1];
       j = i;
       while( j > -1 && s.key < x[j].key)
       {
            x[j+1] = x[j];
            j--;
        }
        x[j+1] = s;
   }
}


阅读(431) | 评论(0) | 转发(0) |
0

上一篇:分治法

下一篇:排序思想总结

给主人留下些什么吧!~~