一、实验目的:
- 掌握各种排序的基本思想。
- 掌握各种排序方法的算法实现。
- 掌握各种排序方法的优劣及花费时间的计算。
- 掌握各种排序方法所适应的不同场合。
二、实验内容
- 随机函数产生10000个随机数,用直接插入、二分插入、希尔等三种排序方法排序,并统计每一种排序所花费的时间。
三、实验要求:
- 根据实验内容编程,上机调试,得出正确的运行程序。
- 写出实验报告(包括源程序和运行结果)
预备知识
代码
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
#define MAXSIZE 10000 //随机数范围大小
typedef int KeyType;
typedef struct{
KeyType key;
}RedType;
typedef struct{
RedType r[MAXSIZE+1];
int length;
}SqList;
//初始化L1,L2序列
void InitSqList(SqList &L1,SqList &L2){
L1.length=L2.length=MAXSIZE;
srand(time(NULL));//设置时间种子