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

当前位置:首页 > 北邮数据结构实验报告实验四排序含源码

北邮数据结构实验报告实验四排序含源码

  • 62 次阅读
  • 3 次下载
  • 2025/5/25 9:01:09

北京邮电大学信息与通信工程学院

for(j=2*s; j<=m; j*=2) {

//沿着结点记录较小的向下筛选 if(j

if(rc.key>= H.r[j].key) break;

H.r[s] = H.r[j]; s = j; }

H.r[s] = rc; }

void HeapSort(HeapType &H) { int i;

RedType temp;

for(i = H.length; i>0; --i) HeapAdjust(H,i,H.length); for(i=H.length; i>1; --i) {

temp = H.r[1]; H.r[1] = H.r[i]; H.r[i] = temp;

HeapAdjust(H,1,i-1); } (7)、对存储数字的遍历函数Visit()、初始化函数InitSqList()。 void Visit(SqList L) {

for(int i=1; i<=L.length; i++) cout<

void InitSqList(SqList &L,int a[]) {

for(int i=1;i<=L.length;i++) L.r[i].key = a[i]; } (8)、主函数main()。 关键算法的时间、空间复杂度:

排序法 平均时间 最差情形 稳定度 额外空间 备注

冒泡 O(n2) O(n2) 稳定 O(1) n小时较好 交换 O(n2) O(n2) 不稳定 O(1) n小时较好 选择 O(n2) O(n2) 不稳定 O(1) n小时较好

插入 O(n2) O(n2) 稳定 O(1) 大部分已排序时较好

第5页

北京邮电大学信息与通信工程学院

Shell O(nlogn) O(ns) 1

2.3 其他

3. 程序运行结果

主函数流程: 直接插入希尔排序 排序 ShellSort() InsertSort() 主函数main 初始化随机数组 冒泡排序 BubbleSort() 快速排序 Qsort() 堆排序 HeapSort()

第6页

北京邮电大学信息与通信工程学院

第7页

北京邮电大学信息与通信工程学院

4. 总结

首先,对程序的设计缺少优化,本次程序需要运行之后手动进行输入数据,以后可以尝试把数据改为在源代码中输入,这样就可以运行之后马上显示数据,这样就避免了相同数据的重复输入。

此外,生成数组函数及本程序中的代码有的采用了递归形式,如果考虑用栈来模拟的话,效率会有提升,所以运行时间还和代码的实现有关。

本程序出现过的问题是主函数对个函数的调用以及对存储数组的调用上出现了问题,导致排序的结果以及排序的界面出现了问题,得不到实现。后来对算法进行改进,最终把问题得以解决。而且以后可以试着去写一段可以计算出时间的函数。

代码

#include #include #include using namespace std;

int i,j,temp,k;//设置全局变量

long double GetNowTime() //取系统时间 { LARGE_INTEGER litmp; LONG64 QPart; QueryPerformanceCounter(&litmp); QPart=litmp.QuadPart; return (long double)QPart; }

第8页

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

共分享92篇相关文档

文档简介:

北京邮电大学信息与通信工程学院 for(j=2*s; j<=m; j*=2) { //沿着结点记录较小的向下筛选 if(j= H.r[j].key) break; H.r[s] = H.r[j]; s = j; } H.r[s] = rc; } void HeapSort(HeapType &H) { int i; RedType temp; for(i = H.length; i>0; --i) HeapAdjust(H,i,H.length); for(i=H.length; i>1; --i) { temp = H.r[1]; H.r[1] = H.r[i]; H

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价: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