内部排序算法比较(4)

2019-02-15 15:33

数据结构课程设计

道路不好走,不过我会更加努力的学习,让编程不再那么困难辛苦,让以后自己能有信心的轻松面对。 参考文献

[1] 谭浩强.C语言程序设计(第三版).清华大学出版社,2007 [2] 姜灵芝,余健.C语言课程设计案例精编.清华大学出版社,2008 [3] 吴伟民,严蔚敏.数据结构. 清华大学出版社,2008 [4] 吕映芝.编译原理.清华大学出版社,2008

14

数据结构程序设计

附录1-用户手册

点击运行,首先出现的是要输入伪随机产生数据的数目,如图9所示。

图9 输入界面

输入数据个数然后回车,可显示出不同排序算法的比较次数、移动次数和排序用时。如图10所示。

图10 显示比较结果界面

显示比较次数的条形图。如图11所示。

15

数据结构课程设计

图11 比较次数条形图界面

显示移动次数条形图。如图12所示

图12 移动次数条形图界面

显示排序用时条形图。如图13所示

图13 排序用时条形图界面

16

数据结构课程设计

附录2-源程序

主要模块源代码清单: #include #include #include #include #include

#define LIST_INIT_SIZE 30000 int bj1,yd1,n,com,mov; long int A[5],B[5]; double t0,t1,t2,t3,t4,t5,C[5]; 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(\ if(n>20000) {

printf(\超出范围重新输入!!!\\n\ goto a; }

L.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType)); if(!L.elem)exit(0);

17

数据结构课程设计

L.length=0; for(i=1;i

b: L.elem[i].key=rand(); if(L.elem[i].key>20000)goto b; ++L.length; } }

void SelectSort(SqList &L) //简单选择排序 {

start_t=clock(); int i,j,k,com=0,mov=0; for(i=1;i

for(j=i+1;j

if(L.elem[j].key

L.elem[0].key=L.elem[i].key; L.elem[i].key=L.elem[k].key; L.elem[k].key=L.elem[0].key; mov+=3; } }

end_t=clock();

printf(\比较次数为 %d移动次数为 %d\\n\ t0=(double)(end_t-start_t)/CLK_TCK; printf(\排序用时为 %f\\n\ A[0]=com;

18


内部排序算法比较(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:高等数学 解题步骤

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: