正在加载图片...
表插入排序 如果希望在排序过程中不移动记录,只有改变存储结构,进行表插 据结构 入排序。表插入排序的存储结构用C语言表述如下: #define SIZe 100 静态连表容量 typedef struct RetYpe re /记录项 next 指针项 内部排序 sYNOde 表结点类型 typedef struct( SLNode rSIZE: /0号单元为表头结点 19 nt length 链表当前长度 SLinkList Type /静态链表类型 其实现方法 数据结构 首先将静态链表中数组下标为“1”的分量(结点)和表 头结点构成一个循环链表(表头接点记录的关键字取最 大的整数 MAXINT),然后依次将下标为“2”至“n”的 分量(结点)按记录关键字非递减有序插入到循环链表 中 例:采用表插入排序将下面的序列49,38,65 97,76,13,27,49按从小到大的顺序排列10 数 据 结 构 之 内 部 排 序 19 ¾ 表插入排序 如果希望在排序过程中不移动记录,只有改变存储结构,进行表插 入排序。表插入排序的存储结构用C语言表述如下: #define SIZE 100 //静态连表容量 typedef struct{ RcdType rc; //记录项 int next; //指针项 }SLNode; //表结点类型 typedef struct{ SLNode r[SIZE]; //0号单元为表头结点 int length; //链表当前长度 }SLinkListType; //静态链表类型 数 据 结 构 之 内 部 排 序 20 其实现方法: 首先将静态链表中数组下标为“1”的分量(结点)和表 头结点构成一个循环链表(表头接点记录的关键字取最 大的整数MAXINT),然后依次将下标为“2”至“n”的 分量(结点)按记录关键字非递减有序插入到循环链表 中。 例:采用表插入排序将下面的序列{49,38,65, 97,76,13,27,49}按从小到大的顺序排列
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有