三九宝宝网宝宝百科宝宝知识

冒泡排序法详解

02月16日 编辑 39baobao.com

[C语言实现以及冒泡排序]汉诺塔绝对是一个经典的算法题目,虽然当年也讲过,程序也不长,但是一直以来总觉得理解的不清楚,看程序也能明白什么意思,过一段时间程序忘了,想不起来的时候,就怎么都想不明白了,虽然...+阅读

冒泡排序:BubbleSort 基本概念 冒泡排序的基本概念是:依次比较相邻的两个数,将大数放在前面,小数放在后面。即首先比较第1个和第2个数,将大数放前,小数放后。然后比较第2个数和第3个数,将大数放前,小数放后,如此继续,直至比较最后两个数,将大数放前,小数放后,此时第一趟结束,在最后的数必是所有数中的最小数。重复以上过程,仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再大于第2个数),将大数放前,小数放后,一直比较到最小数前的一对相邻数,将大数放前,小数放后,第二趟结束,在倒数第二个数中得到一个新的最小数。

如此下去,直至最终完成排序。 由于在排序过程中总是大数往前放,小数往后放,相当于气泡往上升,所以称作冒泡排序。 用二重循环实现,外循环变量设为i,内循环变量设为j。外循环重复9次,内循环依次重复9,8,...,1次。每次进行比较的两个元素都是与内循环j有关的,它们可以分别用a[j]和a[j+1]标识,i的值依次为1,2,...,9,对于每一个i, j的值依次为1,2,...10-i。

产生 在许多程序设计中,我们需要将一个数列进行排序,以方便统计,常见的排序方法有冒泡排序,二叉树排序,选择排序等等。而冒泡排序一直由于其简洁的思想方法和比较高的效率而倍受青睐。 排序过程 设想被排序的数组R[1..N]垂直竖立,将每个数据元素看作有重量的气泡,根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R,凡扫描到违反本原则的轻气泡,就使其向上"漂浮",如此反复进行,直至最后任何两个气泡都是轻者在上,重者在下为止。

算法示例 49 13 13 13 13 13 13 13 38 49 27 27 27 27 27 27 65 38 49 38 38 38 38 38 97 65 38 49 49 49 49 49 76 97 65 49 49 49 49 49 13 76 97 65 65 65 65 65 27 27 76 97 76 76 76 76 49 49 49 76 97 97 97 97 Procedure BubbleSort(Var R : FileType) //从下往上扫描的起泡排序// Begin For I := 1 To N-1 Do //做N-1趟排序// begin NoSwap := True; //置未排序的标志// For J := N - 1 DownTo 1 Do //从底部往上扫描// begin If R[J+1] void BubbleSort(int* pData,int Count) { int iTemp; for(int i=1;i=i;j--) { if(pData[j] arr[i+1] arr,arr[i+1] = arr[i+1],arr end end break if a1 == arr end arr end 冒泡排序Java代码 public void BubbleSort(int a []){ int temp=0; for (int i = 0; i

以下为关联文档:

汉诺塔的C语言实现以及冒泡排序汉诺塔绝对是一个经典的算法题目,虽然当年也讲过,程序也不长,但是一直以来总觉得理解的不清楚,看程序也能明白什么意思,过一段时间程序忘了,想不起来的时候,就怎么都想不明白了,虽然...

WPS2005之表格排序功能详解我们在用WPS表格2005来处理相关的数据表时,常常要对表格中的数据进行排序操作。全方位体验一下WPS表格2005的排序功能。1、快捷排序。如果我们希望对表格中的数据按“工龄...

icomparer怎么让他正排序逆排序 C1、List.Sort(),只能在集合元素实现了IComparable泛型接口时使用 2、List.Sort(Comparison),Comparison是一个方法委托,它带有2个参数T,返回int类型,可以灵活指定如何排序,但是需...

VB中随机产生10个数用直接法对10个数进行降序排序Private Sub main() Dim i, j As Integer Dim min, temp As Integer Randomize For i = 1 To 10 a(i) = 1 + Rnd * 10 print a(i); Next print For i = 1 To 9 min = a(i) F...

请教vb考试题 :下面的程序使用冒泡法将数组a中的十个整数按升序Private Sub command1_click() Dim a Dim tmp As Integer a = Array(678.45, 324, 528, 439, 387, 87, 875, 273, 823, 678) '给数组赋值 For i = 0 To 9 For j = 0 To 9 If...

详解化学电子守恒法最好有例题电子守恒法就是在氧化还原反应中得失电子守恒。 计算公式:n(氧化产物)*变价原子个数*化合价变化值=n(还原产物)*变价原子个数*化合价变化值 n(氧化剂)*变价原子个数*化合价变化值=...

c如何进行冒泡排序/**************************************************/ /* 函数功能:冒泡排序算法 */ /* 函数参数:结构类型table的指针变量tab */ /* 函数返回值:空 */ /* 文件名:bubbsort.cp...

冒泡算法升序排序数组中随机生成的10个数public class MaoPiao { /** * 冒泡算法,升序排序数组中随机生成的10个数 */ public static void main(String[] args) { Random rd = new Random(); int a[] = new int[10];...

利用二叉排序树排序本二叉树创建规则, 小于当前节点的数插入当前节点的左子树,大于当前节点的插入右子树,依次类推直到找到对应的节点。 打印62616964757a686964616fe58685e5aeb931333238653862的...

推荐阅读
图文推荐