网站导航网学 原创论文 网站设计 最新系统 最新研究 原创论文 获取论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计下载 > VC与C++类别 > 正文

基于VisualC++6.0多种排序算法动态演示软件的设计与实现

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/05/14

鉴于大家对VC与C++类别十分关注,我们编辑小组在此为大家搜集整理了“基于Visual C++ 6.0多种排序算法动态演示软件的设计与实现”一文,供大家参考学习

QQ交谈客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn

3.3    快速算法及思想
    快速排序算法的基本思想:采用分而治之的办法对一个表进行排序,任取待排序对象序列中的某个对象(例如取第一个对象)作为基准,按照该对象的关键码大小,将整个对象序列划分为左右两个子表-low和high:
(1)左侧子序列low中所有对象的关键码都小于或等于基准对象的关键码;
(2)右侧子序列high中所有对象的关键码都大于或等于基准对象的关键码。
       基准对象则排在这两个子序列中间。然后再按此方法对low和high两部分数据分别进行快速排序,其整个过程可以递归进行,从而使整个数列变成有序序列。
假设要排序的数列为A[1]……A[N],我们首先要取一个数据作为关键数据,一般情况下都是取第一个数据为关键数据。然后将所有小于它的数据放在它前面,所有大于它的数放在它后面,这个过程就称为一趟快速排序。算法的步骤如下:
(1)、设置两个变量int=i,j,在排序开始的时候,i=1,j=N;
(2)、以第一个数据为关键数据,定义为key,即key=A[1];
(3)、从变量j向前搜索,即由右至左的搜索(j:=j-1),找到小于key的数据,两者交换;
(4)、从变量i向后搜索,即由左至右的搜索(i:=i+1),找到大于key的数据,两者交换;
(5)、重复排序步骤(3)和(4),直到i=j。
4.7    系统的特点
      在运行本系统的时候,选择不同的菜单选项,能够清楚的看出各种排序过程的变化,例如:
(1)选择“冒泡法排序”时,可以看见绿色的长条逐渐向左移动,完全验证了冒泡排序算法的思想。
(2)选择“选择法排序”时,可以看见绿色的长条是被交换到左边的过程,这个也完全证明了选择排序算法的思想。
(3)选择“快速法排序”时,可以看见整个序列在经过i=j的过程后,被分成了2个子序列,再排列两个子序列后完成排序,这个也验证了快速排序算法的思想。
(4)选择“同时排序”时,可以清楚的看见三种算法之间效率的不同。通过观看比较出谁快谁慢,体现出快速排序的优越性。
 

本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT

本文选自计算机毕业设计http://myeducs.cn
论文文章部分只是部分简介,如需了解更多详情请咨询本站客服!QQ交谈QQ3710167

原创论文

设为首页 | 加入收藏 | 论文首页 |原创论文 |
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师