第一范文网 - 专业文章范例文档资料分享平台

c++数据结构实验链表排序

来源:用户分享 时间:2025/7/28 18:23:59 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

if (!p) throw \查找位置非法\; else return p; }

void LinkList::sift(int k, int m) { int i = k, j = 2 * i; while (j <= m) { comparef++; if (jdata>Get(j + 1)->data)) j++; if (Get(i)->data < Get(j)->data) break; else { turn(Get(i), Get(j)); i = j; j = 2 * i; } } }

void LinkList::heapsort(int n) { LARGE_INTEGER t1, t2, feq; QueryPerformanceFrequency(&feq); //每秒跳动次数 QueryPerformanceCounter(&t1); //测前跳动次数 for (int i = n / 2; i >= 1; i--) sift(i, n); for (int i = 1; i < n; i++) { turn(Get(1), Get(n - i + 1)); sift(1, n - i); } QueryPerformanceCounter(&t2); //测后跳动次数 double d = ((double)t2.QuadPart - (double)t1.QuadPart) / ((double)feq.QuadPart);//时间差秒 cout << \操作时间为:\ << d << endl; }

void tell(LinkList &a, LinkList &b, LinkList &c, LinkList &d, LinkList &e) { a.print(); comparef = 0; movef = 0; a.InsertSort(); cout << \排序结果:\; a.print();

cout << \插入排序法: Compare:\ << setw(3) << comparef << \ Move:\ << setw(3) << movef << endl; comparef = 0; movef = 0; b.BubbleSort(); cout << \改进型冒泡排序法: Compare:\ << setw(3) << comparef << \ Move:\ << setw(3) << movef << endl; comparef = 0; movef = 0; c.QSort(); cout << \快速排序法: Compare:\ << setw(3) << comparef << \ Move:\ << setw(3) << movef << endl; comparef = 0; movef = 0; d.SelectSort(); cout << \简单选择排序法 Compare:\ << setw(3) << comparef << \ Move:\ << setw(3) << movef << endl; comparef = 0; movef = 0; e.heapsort(10); cout << \堆排序算法 Compare:\ << setw(3) << comparef << \ Move:\ << setw(3) << movef << endl; }

搜索更多关于: c++数据结构实验链表排序 的文档
c++数据结构实验链表排序.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c0wr110mynu9s4tl8l1hl_5.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top