欢迎来到天天文库
浏览记录
ID:34365894
大小:458.37 KB
页数:27页
时间:2019-03-05
《08_冒泡排序和选择排序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2011年秋季软件学院本科课程计算机导论(2)计算机程序设计基础(TheFundamentalsofComputerProgramming)简单排序算法QiuyanHuo霍秋艳SoftwareEngineeringInstituteqyhuo@mail.xidian.edu.cn计算机程序设计基础–TheFundamentalsofComputerProgramming简单排序算法-冒泡(起泡)排序2计算机程序设计基础–TheFundamentalsofComputerProgramming三个整
2、数排序开始输入三个整数a,b,cYa
3、五个整数*/ifa4、大的数并放在b中*/ENDifc5、1432183941355567743计算机程序设计基础–TheFundamentalsofComputerProgramming冒泡排序法(bubblesort)基本思想:通过对相邻元素的比较和交换,使全部记录排列有序。冒泡排序过程:对每两个相邻的元素进行比较,若为逆序,则将两者交换,这样的操作反复进行,直至全部记录都比较、交换完毕为止。如此经过一趟冒泡排序之后,就将关键字最大(或最小)的元素安排在最后一个(或第一个)元素的位置上。然后,对后n-1个元素重复进行同样的操作,则将具有次大(或次小)6、元素安排在倒数(或正数)第二个元素的位置上。重复以上过程,直至没有元素需要交换时为止。至此,整个序列的记录按关键字由小到大的顺序排列完毕。6计算机程序设计基础–TheFundamentalsofComputerProgramming冒泡排序方法以7个元素为例说明冒泡排序位置1~位置7的元素初始排列如下所示14321839413555677437计算机程序设计基础–TheFundamentalsofComputerProgramming冒泡排序方法第一步:令位置1和位置2的元素比较,若位置1的元素大7、,则交换第二步:令位置2和位置3的元素比较,若位置2的元素大,则交换143118118218243293939343413交换413交换4135555555556767677437437438计算机程序设计基础–TheFundamentalsofComputerProgramming冒泡排序方法第三步:令位置3和位置4的元素比较,若位置3的元素大,则交换第四步:令位置4和位置5的元素比较,若位置4的元素大,则交换第五步:令位置5和位置6的元素比较,若位置5的元素大,则交换11811811829298、29343313313交换443交换4134435555555767676557437437439计算机程序设计基础–TheFundamentalsofComputerProgramming冒泡排序方法第六步:令位置6和位置7的元素比较,若位置6的元素大,则交换1181182929313313443交换4435757655643743755最大元素被交换到最后一个位置(位置7)下一趟则需将次大元素交换到倒数第二个位置10计算机程序设计基础–TheFundamentalsofComp
4、大的数并放在b中*/ENDifc5、1432183941355567743计算机程序设计基础–TheFundamentalsofComputerProgramming冒泡排序法(bubblesort)基本思想:通过对相邻元素的比较和交换,使全部记录排列有序。冒泡排序过程:对每两个相邻的元素进行比较,若为逆序,则将两者交换,这样的操作反复进行,直至全部记录都比较、交换完毕为止。如此经过一趟冒泡排序之后,就将关键字最大(或最小)的元素安排在最后一个(或第一个)元素的位置上。然后,对后n-1个元素重复进行同样的操作,则将具有次大(或次小)6、元素安排在倒数(或正数)第二个元素的位置上。重复以上过程,直至没有元素需要交换时为止。至此,整个序列的记录按关键字由小到大的顺序排列完毕。6计算机程序设计基础–TheFundamentalsofComputerProgramming冒泡排序方法以7个元素为例说明冒泡排序位置1~位置7的元素初始排列如下所示14321839413555677437计算机程序设计基础–TheFundamentalsofComputerProgramming冒泡排序方法第一步:令位置1和位置2的元素比较,若位置1的元素大7、,则交换第二步:令位置2和位置3的元素比较,若位置2的元素大,则交换143118118218243293939343413交换413交换4135555555556767677437437438计算机程序设计基础–TheFundamentalsofComputerProgramming冒泡排序方法第三步:令位置3和位置4的元素比较,若位置3的元素大,则交换第四步:令位置4和位置5的元素比较,若位置4的元素大,则交换第五步:令位置5和位置6的元素比较,若位置5的元素大,则交换11811811829298、29343313313交换443交换4134435555555767676557437437439计算机程序设计基础–TheFundamentalsofComputerProgramming冒泡排序方法第六步:令位置6和位置7的元素比较,若位置6的元素大,则交换1181182929313313443交换4435757655643743755最大元素被交换到最后一个位置(位置7)下一趟则需将次大元素交换到倒数第二个位置10计算机程序设计基础–TheFundamentalsofComp
5、1432183941355567743计算机程序设计基础–TheFundamentalsofComputerProgramming冒泡排序法(bubblesort)基本思想:通过对相邻元素的比较和交换,使全部记录排列有序。冒泡排序过程:对每两个相邻的元素进行比较,若为逆序,则将两者交换,这样的操作反复进行,直至全部记录都比较、交换完毕为止。如此经过一趟冒泡排序之后,就将关键字最大(或最小)的元素安排在最后一个(或第一个)元素的位置上。然后,对后n-1个元素重复进行同样的操作,则将具有次大(或次小)
6、元素安排在倒数(或正数)第二个元素的位置上。重复以上过程,直至没有元素需要交换时为止。至此,整个序列的记录按关键字由小到大的顺序排列完毕。6计算机程序设计基础–TheFundamentalsofComputerProgramming冒泡排序方法以7个元素为例说明冒泡排序位置1~位置7的元素初始排列如下所示14321839413555677437计算机程序设计基础–TheFundamentalsofComputerProgramming冒泡排序方法第一步:令位置1和位置2的元素比较,若位置1的元素大
7、,则交换第二步:令位置2和位置3的元素比较,若位置2的元素大,则交换143118118218243293939343413交换413交换4135555555556767677437437438计算机程序设计基础–TheFundamentalsofComputerProgramming冒泡排序方法第三步:令位置3和位置4的元素比较,若位置3的元素大,则交换第四步:令位置4和位置5的元素比较,若位置4的元素大,则交换第五步:令位置5和位置6的元素比较,若位置5的元素大,则交换1181181182929
8、29343313313交换443交换4134435555555767676557437437439计算机程序设计基础–TheFundamentalsofComputerProgramming冒泡排序方法第六步:令位置6和位置7的元素比较,若位置6的元素大,则交换1181182929313313443交换4435757655643743755最大元素被交换到最后一个位置(位置7)下一趟则需将次大元素交换到倒数第二个位置10计算机程序设计基础–TheFundamentalsofComp
此文档下载收益归作者所有