摘要: 希尔排序(Shell’sSort)又称“缩小增量排序”(Diminishing Increment Sort),它也是一种属于插入排序类的方法,但在时间效率上较前述几种排序方法有较大的改进。时间复杂度为O(n^3/2)。理解:先将整个待排记录序列分割成为若干子序列,分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行一次直接插入排序。void CInsertionSort::ShellSort(void){ const int count = 9, length = count -1; int L[count] = {0, 49, 38, 65, 97, 76, 13, . 阅读全文
posted @ 2011-04-28 21:23 星晨_jqren 阅读(772) 评论(0) 推荐(1) 编辑
摘要: 若希望在排序过程中不移动记录,只有改变存储结构,进行表插入排序。存储结构定义如下:#define SIZE 100 //静态链表容量typedef struct { string rc; //记录项 int next; //指针项}SLNode; //表结点类型typedef struct{ SLNode r[SIZE]; //0号单元为表头结点 int length; //链表当前长度}SLinkListType; //静态链表类型 为了方便插入,设数组中下标为“0”的分量为表头结点,并令表头结点记录的关键字取最大整数MAXINT。则表插入排序的过程描述如下:首先将静态链表中数组下标为“1. 阅读全文
posted @ 2011-04-28 20:27 星晨_jqren 阅读(697) 评论(0) 推荐(0) 编辑