《排序》课件.ppt
《《排序》课件.ppt》由会员分享,可在线阅读,更多相关《《排序》课件.ppt(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第五章排序课程目标n何谓排序n交换式排序冒泡排序法快速排序法n选择式排序选择排序法n插入式排序插入排序法本章体验项目本程序启动后,进入到彩票机的界面,在界面的又上角有一组单选框,分别是手选和机选(默认)。如果是机选,则点击“开始”按钮生成一组1到30的随机数并显示在7个小文本框里(没有控制是否有重复数)。点击“排序”按钮将7个数进行排序后并显示在界面中间的文本域中。如果是手选,则自己在7个文本框中填写所喜欢的号码,然后点击“开始”按钮将7个号码排序后输出。“清除”按钮是将显示区域的数据清除,“退出”按钮是退出程序。5.1何谓排序5.1.1排序的意义所谓排序是将一组数据依照一定的顺序排列起来。最
2、常见的排序是“从小到大”的“递增排序”和“从大到小”的“递减排序”。以下列数组为例进行说明递增排序:递增排序:递减排序:递减排序:5.1.2排序的特性稳定性稳定性 不稳定性不稳定性 排序过后能使值相同的数据保排序过后能使值相同的数据保持原顺序中的相对位置持原顺序中的相对位置 排序过后不能使值相同的数据排序过后不能使值相同的数据保持原顺序中的相对位置保持原顺序中的相对位置 例如:例如:稳定排序的结果:稳定排序的结果:不稳定排序的结果:不稳定排序的结果:排序后排序后7()仍旧在()仍旧在7()之前,二者相对位置不变()之前,二者相对位置不变 排序后排序后7()则在()则在7()之后,二者相对位置发
3、生了改变()之后,二者相对位置发生了改变 5.1.2排序的分类排序的分类大致上可分为两种排序的分类大致上可分为两种 内部排序内部排序 外部排序外部排序 将欲处理的数据整个存放到内部存储器中将欲处理的数据整个存放到内部存储器中排序,数据可被随机存取排序,数据可被随机存取 交换式排序交换式排序 选择式排序选择式排序 插入式排序插入式排序 欲处理的数据两过于庞大,无法全部存放到内部存储欲处理的数据两过于庞大,无法全部存放到内部存储器,必须借助外部的辅助存储器(比如:硬盘),器,必须借助外部的辅助存储器(比如:硬盘),由于数据是存在外存中,故数据不可随机被存取由于数据是存在外存中,故数据不可随机被存取
4、 合并排序法合并排序法 直接合并排序法直接合并排序法 在本书中只介绍内部在本书中只介绍内部排序法。排序法。以下所有排序均为从以下所有排序均为从小到大升序排列小到大升序排列 5.2交换式排序内部排序中的交换式排序,是运用数据值比较后,以判断规则对数据位置进行交换,已达到排序的目的。交换式排序法又可分为两种交换式排序法又可分为两种 冒泡排序法(冒泡排序法(Bubble Sort)快速排序法(快速排序法(Quick Sort)5.2.1冒泡排序法排序方法从数组第一个元素开始,将第一个元素ai同下一个元素ai+1进行比较,如果ai大于ai+1则将两者相交换。直到比较完最后一个元素。这时数组中最小的元素
5、会被交换成为数组首端。由于该比较法每次可以将最大或者最小的元素以交换的方式移动到数组首或数组为,就像气泡从水底浮向水面一样,到水面时气泡最大,故称该排序法为冒泡排序法。举例说明如数组:inta=6,5,8,3,7;该数组中一共有该数组中一共有5个数据,所以要比较个数据,所以要比较4趟,每趟相互比较趟,每趟相互比较4次。次。第一趟:第一趟:(1)a0 VS a1,因为a0a1,所以交换a0和a1(2)a1 VS a2,因为a1a3,所以交换a2和a3。(4)a3 VS a4,因为a3a4,所以交换a3和a4。这样第一趟就比较完了,数组中最大的8也到了最后一位,成为第一个吐出的泡泡。按照这样的步骤
6、继续循环直到所有元素都排序完成为止。publicclassBubbleSortpublicvoidbubbleSort(inta)intt=0;for(inti=0;ia.length-1;i+)for(intj=i+1;jaj)t=ai;ai=aj;aj=t;for(intk=0;ka.length;k+)System.out.print(ak+);System.out.println();System.out.println(-);打印每一趟打印每一趟排序的结果排序的结果进行比较,如果前面的进行比较,如果前面的元素比后面的大则交换元素比后面的大则交换冒泡排序的优点和缺点n优点:若数据已有部
7、分排好序,则可以很快的完成排序。n缺点:会反复扫描数据,比较相邻的两个数据,速度不快也没有效率。冒泡排序属于稳定性排序法冒泡排序属于稳定性排序法 最佳状况:数据的顺序恰与排序后的顺序相同最佳状况:数据的顺序恰与排序后的顺序相同 最坏状况:数据的顺序恰与排序后的顺序相反最坏状况:数据的顺序恰与排序后的顺序相反 如:如:如:如:5.2.2快速排序法快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。分治法的基本思想是:将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解这些子问
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 排序 课件
限制150内