数据结构课程设计-内部排序算法时间的比较(1)冒泡、直插、选择、快速、希尔、归并排序算法进行比较;(2)待排序的元素的关键字为整数.其中的数据要用伪随机产生程序产生(如1000
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/18 08:50:15
数据结构课程设计-内部排序算法时间的比较(1)冒泡、直插、选择、快速、希尔、归并排序算法进行比较;(2)待排序的元素的关键字为整数.其中的数据要用伪随机产生程序产生(如1000
数据结构课程设计-内部排序算法时间的比较
(1)冒泡、直插、选择、快速、希尔、归并排序算法进行比较;
(2)待排序的元素的关键字为整数.其中的数据要用伪随机产生程序产生(如10000个),至少用5组不同的输入数据做比较,再使用各种算法对其进行排序,记录其排序时间,再汇总比较;
(3)演示程序以人机对话的形式进行.每次测试完毕显示各种比较指标值(移动次数、比较次数、排序时间)的列表,用条形图(星号表示)进行表示,以便比较各种排序的优劣.
现在我就差排序时间了,这个帮我写下函数吧,然后我调用一下就行了,要写的很明白的.
数据结构课程设计-内部排序算法时间的比较(1)冒泡、直插、选择、快速、希尔、归并排序算法进行比较;(2)待排序的元素的关键字为整数.其中的数据要用伪随机产生程序产生(如1000
用系统计时器算时间复杂度.
#include
#include
#include
#include
#define LIST_INIT_SIZE 50000
int bj1,yd1,n;
clock_t start_t,end_t;
typedef struct
{
int key;
}ElemType;
typedef struct
{
ElemType *elem;
int length;
}SqList;
void addlist(SqList &L)
{
int i;
a:printf("请输入你要输入的个数:");
scanf("%d",&n);
if(n>50000)
{
printf("超出范围重新输入!\n");
goto a;
}
L.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));
if(!L.elem)exit(0);
L.length=0;
for(i=1;i30000)goto b;
++L.length;
}
}
void SelectSort(SqList &L)//选择
{
start_t=clock();
int i,j,k,bj=0,yd=0;
for(i=1;i