云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 大数据结构课程设计_排序算法比较【完整版】

大数据结构课程设计_排序算法比较【完整版】

  • 62 次阅读
  • 3 次下载
  • 2025/5/26 5:35:11

}

k=k; if(head[k]==NULL) //进行分配 { head[k]=p; tail[k]=p; } else { tail[k]->next=p; tail[k]=p; } p=p->next; //取下一个待排序的元素 }

p=NULL; //用于收集第一个元素时的判断

for(j=0;j<10;j++) //对每一个链队循环, 搜集每一个元素 { if(head[j]!=NULL) //进行搜集 { if(p==NULL) { p=head[j]; q=tail[j]; } else { q->next=head[j]; q=tail[j]; } } }

q->next=NULL; //最后一个结点的next置为空 d=d*10; n=0; m=1;

while(m<= //判断当L中的元素都除d后是不是都为零了 { if([m]/d)!=0) { n++; m++; } else m++; }

i=1; while(p!=NULL) //将链表转换为顺序表 { [i]=p->key; i++; p=p->next; } return OK; }

//************************************** // 主函数 //************************************** void main() { Sqlist L; Sqlist L0; InitSqlist(L); //初始化L InitSqlist(L0); int m,i; char choice='z'; clock_t start, finish; //定义clock_t用于计时 double duration; //向L中输入元素 printf(\n █████████████████████████████████████\\n\ printf(\ \\n\ printf(\ 算法排序比较系统 \\n\ printf(\ \\n\ printf(\ █████████████████████████████████████\\n\ printf(\ 以下是各个排序算法的代号:\\n\\n\ printf(\ 1、直接插入排序 \\n\ printf(\ 2、折半插入排序 \\n\ printf(\ 3、起泡排序 \\n\ printf(\ 4、快速排序\\n\ printf(\ 5、选择排序\\n\ printf(\ 6、堆排序\\n\ printf(\ 7、基数排序\\n\ printf(\ 8、退出该系统\\n\\n\ ScanfSqlist(m,L0); printf(\ printf(\ 1、直接插入排序 \\n\ printf(\ 2、折半插入排序 \\n\

printf(\ 3、起泡排序 \\n\ printf(\ 4、快速排序\\n\ printf(\ 5、选择排序\\n\ printf(\ 6、堆排序\\n\ printf(\ 7、基数排序\\n\ printf(\ 8、退出该系统\\n\\n\ printf(\请选择排序的方式,数字1-7: \ scanf(\ //选择排序方式赋值choice,用于后面的函数选择 while(choice<1||choice>8) { printf(\输入方式有误。\\n请输入1-7选择排序方式,或者选择8退出系统\ scanf(\ } while(choice!=8) { for(i=1;i<=;i++) [i]=[i]; =; switch(choice) { case 1://直接插入排序 start = clock(); InsertSort(L); finish = clock(); break; case 2://折半插入排序 start = clock(); BInsertSort(L); finish = clock(); break; case 3://起泡排序 start = clock(); BubbleSort(L); finish = clock(); break; case 4://快速排序 start = clock(); QuickSort(L); finish = clock(); break; case 5://选择排序 start = clock(); ChooseSort(L); finish = clock();

break; case 6://堆排序 start = clock(); HeapSort(L); finish = clock(); break; case 7://基数排序 start = clock(); RadixSort(L); finish = clock(); break; case 8://直接退出 break; } PrintfSqlist(m,L); //输出数据和L的长度 duration = (double)(finish - start) / CLOCKS_PER_SEC; //输出算术时间 printf(\本次排序运算所用的时间是:%lf seconds\\n\

printf(\ 本次排序结束。\\n\ printf(\

___________________________________________________________________\\n\ printf(\ 继续本系统吗\\n\\n\

printf(\ 以下是各个排序算法的代号:\\n\ printf(\ 1、直接插入排序\\n\ printf(\ 2、折半插入排序\\n\ printf(\ 3、起泡排序\\n\ printf(\ 4、快速排序\\n\ printf(\ 5、选择排序\\n\ printf(\ 6、堆排序\\n\

printf(\ 7、基数排序\\n\ printf(\ 8、退出该系统\\n\ printf(\请请输入1-7选择排序方式,或者选择8退出系统:\ scanf(\ while(choice<1||choice>8) { printf(\输入方式有误。\\n请输入1-7选择排序方式,或者选择8退出系统\ scanf(\ } }

}

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

} k=k; if(head[k]==NULL) //进行分配 { head[k]=p; tail[k]=p; } else { tail[k]->next=p; tail[k]=p; } p=p->next; //取下一个待排序的元素 } p=NULL; //用于收集第一个元素时的判断 for(j=0;j<10;j++) //对每一个链队循环, 搜集每一个元素 { if(head[j]!=NULL) //进行搜集 { if(p==NULL)

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com