三、[内部排序的方法内部排序的过程是一个遂步扩大记录的有序序列长度的过程。有序序列区无序序列区k;经过一排序有序序列区无序序列区
三、内部排序的方法 内部排序的过程是一个逐步扩大 记录的有序序列长度的过程。 经过一趟排序 有序序列区 无 序 序 列 区 有序序列区 无 序 序 列 区 ki
“扩大”基于不同的有序序列长度的方法,内部排序方法大致可分下列几种类型:插入类交换类选择类归并类
基于不同的“扩大” 有序序列长 度的方法,内部排序方法大致可分 下列几种类型: 插入类 交换类 选择类 归并类
待拥记象的数据类型定待排顺序表最大长度typedefintKeyType;//关键字类型为整数类型typedef struct //关键字项KeyType key;InfoTypeotherinfo;//其它数据项//记录类型RcdType;typedef struct r[MAXSIZE+1];//r[O]闲置RcdTypeint顺序表长度length;Ⅱ顺序表类型} SqList;
#define MAXSIZE 1000 待排记录的数据类型定义如下 // 待排顺序表最大长度 : typedef int KeyType; // 关键字类型为整数类型 typedef struct { KeyType key; // 关键字项 InfoType otherinfo; // 其它数据项 } RcdType; // 记录类型 typedef struct { RcdType r[MAXSIZE+1]; // r[0]闲置 int length; // 顺序表长度 } SqList; // 顺序表类型
1.插入类务将无序子序列中的一个或几个记录“插入“至到有序序列中,从而增加记录的有序子序列的长度
1. 插入类 将无序子序列中的一个或几 个记录“插入”到有序序列中, 从而增加记录的有序子序列的长 度
2.交换类通过“交换”无序序列中的记录从而得到其中关键字最小或最大的记录,并将它加入到有序子序列中,以此方法增加记录的有序子序列的长度
2. 交换类 通过“交换”无序序列中的记 录从而得到其中关键字最小或最大 的记录,并将它加入到有序子序列 中,以此方法增加记录的有序子序 列的长度