ImageVerifierCode 换一换
格式:DOC , 页数:21 ,大小:132KB ,
资源ID:1087138      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-1087138.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验五 内部排序算法比较.doc)为本站会员(da****u)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

实验五 内部排序算法比较.doc

1、内部排序算法比较 北京邮电大学 05117 班 杨登锋第 1 页 共 21 页内部排序算法比较问题描述在课本中,各种内部排序算法的时间复杂度分析结果只给出了算法执行时间的阶数或大概执行时间。试通过随机数据比较各算法的关键字比较次数和关键字移动次数,以取得直观感受。 需求分析(1)对以下 5 种常用的内部排序算法进行比较:起泡排序、直接插入排序、简单选择排序、快速排序、希尔排序。(2)待排序表的表长不小于 100;其中的数据要用伪随机数函数产生;至少要用 5 组不同的输入数据作比较;比较的指标为有关键字参加的比较次数和关键字的移动次数(其中关键字交换计为 3 次移动) 。(3)最后要对结果做出简

2、单分析,包括对各组数据得出结果波动大小的解释。测试数据由随机数产生函数生成。内部排序算法比较 北京邮电大学 05117 班 杨登锋第 2 页 共 21 页实现关键主要工作是设法在已知算法中的适当位置插入对关键字的比较次数和移动次数的计数操作。程序还可以考虑几组数据的典型性;如正序、逆序和不同程度的乱序。程序的运行图如下程序设计如下:Sort.h:内部排序算法比较 北京邮电大学 05117 班 杨登锋第 3 页 共 21 页#ifndef sort_h#define sort_h#include #include#include #include#includeusing namespace s

3、td;template class SeqListpublic:SeqList (const int size = 100);SeqList();SeqListvoid Bubble();/冒泡排序void InsertSort();/插入排序void SelectSort();/选择排序void QuickSort();/快速排序void Shell();/希尔排序void HalfInsertSort();/折半插入排序void MergeSort();/归并排序的非递归算法void HeapSort();/堆排序void BidirInsert();/二路插入排序void Del();/

4、删除线型表里的元素int Length() const;/线形表长度int Find( const T /查找值为x的位置int Insert ( T /将x插入位置ibool IsEmpty()const;/判空bool IsFull() const;/判满T Get( int i );/查找i位置的元素void Print();/打印T *data;/线型表的表头指针private:int maxsize;/线型表的最大容纳元素个数int last;/线型表表尾指针;内部排序算法比较 北京邮电大学 05117 班 杨登锋第 4 页 共 21 页template SeqList :SeqLi

5、st(const int size)assert (size = 0);/Tests a string to see if it is NULL, empty, or longer than 0 charactersif (size 0)maxsize = size;last = 0;data = new Tmaxsize;if(data = NULL)coutSeqList :SeqList()delete data;template SeqList maxsize = s.maxsize;last = s.last;data = new Tmaxsize;for(int i=1;ivoid

6、 SeqList :Bubble()内部排序算法比较 北京邮电大学 05117 班 杨登锋第 5 页 共 21 页int a=1;int i=0;/ int temp;int x=0;int y=0;while(a)a = 0;for(i=1;idatai+1)data0=datai;datai=datai+1;datai+1=data0;a+;x+=3;y+;coutvoid SeqList :InsertSort()/* SeqList sTemp(Length()+1);int temp=0;sTemp.Insert(temp,0);for(int i=0;ivoid SeqList :

7、SelectSort()int a;int b = 0;/ int temp;int n = 0;int x = 0;int y = 0;for(int i=1;ivoid SeqList:QuickSort()int x = 0,y = 0;QSort(*this,1,Length(),x,y);coutvoid SeqList :Shell()/* SeqList sTemp(Length()+1);int temp=0;sTemp.Insert(temp,0);for(int i=0;i=1;t=t/2)for(int i=t+1;i0last=0;template int SeqLis

8、t :Length() constreturn last;内部排序算法比较 北京邮电大学 05117 班 杨登锋第 9 页 共 21 页template int SeqList :Find(const T while (i last )return 0;elsereturn i;template int SeqList :Insert(T elselast+;for (int j = last; j i; j-)dataj = dataj-1;datai = x;return 1;template bool SeqList :IsEmpty()constif(last = 0)return 1

9、;elsereturn 0;template bool SeqList :IsFull() const内部排序算法比较 北京邮电大学 05117 班 杨登锋第 10 页 共 21 页if(last = maxsize - 1)return 1;elsereturn 0;template T SeqList :Get(int i)if(i last)return NULL;else return datai;int Partition(SeqList int pivotkey=L.datafirst;while(first=pivotkey)end-;y+;if(firstend) L.datafirst = L.dataend;L.dataend = -1;x+;while(firstendy+;if(firstend) L.dataend = L.datafirst;L.datafirst = -1;x+;

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。