实验报告 3
实验名称:数据结构与软件设计实习
题 目:内部排序算法比较
专业:生物信息学 班级:01 姓名:学号:实验日期:2010.07.24
一、 实验目的:
比较冒泡排序、直接插入排序、简单选择排序、快速排序、希尔排序;
二、 实验要求:
待排序长度不小于 100,数据可有随机函数产生,用五组不同输入数据做比较,比较的指标为
关键字参加比较的次数和关键字移动的次数;
对结果做简单的分析,包括各组数据得出结果的解释;
设计程序用顺序存储。
三、 实验内容
对各种内部排序算法的时间复杂度有一个比较直观的感受,包括关键字比较次数和关键字移
动次数。
将排序算法进行合编在一起,可考虑用顺序执行各种排序算法来执行,最后输出所有结果。
四、实验编程结果或过程:
1. 数据定义
typedef struct {
KeyType key;
}RedType;
typedef struct {
RedType r[MAXSIZE+1];
int length;
}SqList;
2. 函数如下,代码详见文件“排序比较.cpp”
int Create_Sq(SqList &L)
void Bubble_sort(SqList &L)//冒泡排序
void InsertSort(SqList &L)//插入排序
void SelectSort(SqList &L) //简单选择排序
int Partition(SqList &L,int low,int high)
void QSort(SqList &L,int low,int high)//递归形式
的快速排序算法
void QuickSort(SqList &L)
void ShellInsert(SqList &L,int dk)//希尔排序
void ShellSort(SqList &L,int dlta[ ])
3. 运行测试结果,运行结果无误,如下图
语速个数为 20
评论0