void AllsortCompare();
(7) 实现数据的更换:
void Changesort();
(8) 实现表长的更改:
void Changesortlong();
下面是主程序的结构图和几个主要模块的流程图:
循环
开始 产生一组随机数
插入排序 希尔 排序 将随机数保存在数组起泡排序 快速排序 选择排序 算法比较 记录关键字的比较次数和移动次
输出关键字的比较次数和移动次数 结束 4.21主程序结构图
5 结果分析
关键字 选择排序 冒泡排序 直插排序 快速排序 希尔排序 记录数 最多 最多 最多 最多 较多 较多 较多 较多 最少 较少 较少 较少 较少 较少 较少 较少 较大 较少 比较次数 最多 移动次数 较少 比较次数 最多 移动次数 较少 6 心得体会
通过本次课程设计,我对直接插入排序,希尔排序,选择排序等六种排序的概念有了一个新的认识,也慢慢地体会到了它们之间的奥妙。这次的课程设计,加强了我的动手,思考和解决问题的能力。巩固和加深了我对数据结构的理解,也让我懂得了理论与实际相结合是非常重要的,更让我进一步明白了“团结就是力量”这句话的含义。
在整个设计过程中,构思是很花时间的。调试时经常会遇到这样那样的错误,有的是因为粗心造成的语法错误。当然,很多是因为用错了方法,总是实现不了。同时在设计过程中发现了自己的不足之处,对以前所学过的知识理解的不够深刻,掌握的不够透彻。
根据我在课程设计中遇到的问题,我将在以后的学习过程中注意以下几点: 1、多在实践中锻炼自己; 2、写程序的过程中要考虑周到;
3、在做设计的时候要有信心,有耐心,切勿浮躁。
此次的课程设计得以顺利完成,与朱蓉老师的耐心指导和同学们的及时帮助是分不开的。当我在编写程序遇到难题时,是朱老师的耐心指导,我才可以突破一个个难关。在程序设计过程中,同学们给我的鼓励和帮助使我信心倍增。在此我再次向朱蓉老师和热心帮助我的同学表示深深的谢意。
参考文献
1.朱蓉 刘小晶. 数据结构实验指导书
2.严蔚敏,吴伟民. 数据结构题集(C语言版).北京:清华大学出版社,1999 3.张铭. 数据结构与算法--学习指导与习题解析. 北京:高教出版社.2009 4.刘怀亮. 数据结构(C语言描述)习题与实验指导导. 北京:冶金出版社.2005.2
附代码:
#include
int s[11001],R[11001]; long compare[5],change[5];
double timess[5]; int num;
double duration;
clock_t start, finish; long times=0,changes=0; void Insertsort(); void Bubblesort();
void QuickSort(int low,int high); void Shellsort(); void Selectsort(); void AllsortCompare(); void Changesort(); void Changesortlong(); void Partition(); void main() {
int i;
char ch1,ch2,q;
srand((unsigned)time(NULL)); for(i=1;i<=l;i++) { s[i]=rand()000; }
for(i=1;i<=l;i++) R[i]=s[i]; ch1='y';
while (ch1=='y'||ch1=='Y') { printf(\排 序 性 能 分 析\\n\
printf(\ printf(\直接插入排序测试 ---------*\\n\ printf(\希 尔 排 序 测试 ---------*\\n\
printf(\冒 泡 排 序 测试 ---------*\\n\ printf(\快 速 排 序 测试----------*\\n\ printf(\选 择 排 序 测试 ---------*\\n\ printf(\内 部 排 序 对比----------*\\n\ printf(\更 换 表 中 数据----------*\\n\
printf(\更 换 表 长----------*\\n\ printf(\返 回----------*\\n\ printf(\ printf(\目前表长为:%d\\n\\t\\t请选择菜单号(0---8):\ scanf(\ getchar(); switch(ch2)
相关推荐: