- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计各种排序算法比较
课 程 设 计
课程:数据结构
题目:排序算法比较
专业班级:
姓名:
学号:
设计时间:
指导教师:
设计题目
排序算法比较
运行环境(软、硬件环境)
操作系统windows7
运行环境vc6.0
算法设计的思想
大架构采用模块化编程的思想,将每个不同的功能分别写成不同的子程序,分别进行封装构成各个小的模块,最后将各个模块组合起来。在每个子程序的编写过程中特事特办面对不同的预想功能采取不同的数据结构不同的算法实现。
总体算法思想为按功能分块,依照预想功能实现顺序拼装。
具体思想请见流程图。
流程图
功能流程图
程序编写流程图
算法流程图
算法设计分析
程序总体采用模块化设计,程序间通过传参和调用进行有机组合。这样的总体布局将将各个功能隔离开来,每个模块负责每个模块的功能,使得程序的布局简单明了。且子程序只有在被调用时才会运行大大节约系统资源减少了运算时间。同时由于功能的隔离使得程序的扩展性大大提高,无论程序将要任何改动时,都会方便很多。
源代码
#includestdio.h
#includetime.h
#includestdlib.h
int a[30000];
int choice;
int choice1;
struct xlx{
int key;
int link;
} aa[30000];
int aaa[300000];
void main1();
/**************************生成随机数函数**********************/
void sjs()
{
int i=0,j,b,h,l;
printf(请输入你所期望的将要生成随机数的取值范围:\n);
printf(最小值(不能为负数):);
scanf(%d,l);
printf(最大值(无上限):);
scanf(%d,h);
srand( (int) time(0));
for(j=0;i30000;j++)
{
b=rand();
if(b=lb=h)
{
a[i]=b;
aa[i].key=b;
aaa[i]=b;
i++;
}
}
for(i=0;i30000;i++)
printf(%d ,a[i]);
}
/*************************直接插入排序函数***********************/
void direct(int a[]){
printf(\n现在使用直接插入排序法进行排序:\n);
int i,j,w;
for(i=0;i30000;i++)
{
for(j=i;j=0;j--)
{
if(a[j]=a[j+1])
{
w=a[j];
a[j]=a[j+1];
a[j+1]=w;
}
}
}
}
/*************************冒泡排序函数*************************/
void bubble_sort(int a[])
{
printf(\n下面使用冒泡排序法进行排序:);
int i,j,w;
for(i=0;i30000;i++)
for(j=0;j30000-i;j++)
if(a[j]a[j+1])
{
w=a[j];
a[j]=a[j+1];
a[j+1]=w;
}
}
/*************************选择排序****************************/
void choices_sort(int a[])
{ printf(\n现在使用选择排序法进行排序:\n);
int i,j,k,t;
for(i=0;i30000;i++)
{
k=i;
for(j=i+1;j30000;j++)
if(a[k]a[j])
k=j;
t=a[i];
a[i]=a[k];
a[k]=t;
}
}
/*************************快速排序****************************/
quick(int first,int end,int L[])
{
int left=first,right=end,key;
key=L[first];
您可能关注的文档
- 教师节征文 诗歌 祝词大全.doc
- 教师计算机基本操作培训计划和教案全集.doc
- 教师职业生涯的发展阶段.doc
- 教师礼仪 PPT课件.ppt
- 教师资格评审表.doc
- 教师面试心得,值得一看.doc
- 教材征订系统说明书.doc
- 教案:工商行政管理.doc
- 教科版七年级下册政治知识点归纳.doc
- 教改立项项目申报书.doc
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
文档评论(0)