资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,冒泡排序法,冒泡排序法是,简单,的排序方法之一,它和气泡从水中往上冒的情况有些类似(,动画演示,):这里我给大家讲一下从,小到大排序(升序排列,),。,升序排列:对数组中两两相邻的元素比较将值较小的元素放在前面,值较大的元素放在后面,比较完毕后,,一个最大的数沉底成为数组中的最后一个元素,一些较小的数如同气泡一样上浮一个位置。,其具体做法是有很多种,下面我给大家常见的两种:,1,方法,1,(从前往后 大的数向后下沉),(1),从第,1,个元素开始与,后一个,比较,,如果比后一个大,则,两元素交换,,依次比较到第,n,个元素,最终将最大的数换入第,n,个元素中,,a(n),不动。,(2),重复,(1),,依次比较到第,n-1,个元素,最终将最大的数换入第,n-1,个元素中,,a(n-1),不动。,(3),重复,(1),,依次比较到第,n-2,个元素,最终将最大的数换入第,n-2,个元素中,,a(n-2),不动。,比较中,(n-1),a(1),与,a(2),比较,如果,a(1),大,与,a(2),交换。反之,排序完成。,2,方法,1,的,核心代码,For j=10 To 2 Step-1,For i=1 To j-1,If a(i)a(i+1)Then,t=a(i),a(i)=a(i+1),a(i+1)=t,End If,Next i,Next j,3,方法,2,(从后往前 小的数向前上升),(1),从第,n,个元素开始与,前一个,比较,如果比,前一个小,两元素交换,依次比较到第,1,个元素,最终将最小的数换入第,1,个元素中,,a(1),不动,(2),重复,(1),,依次比较到第,2,个元素,最终将最小的数换入第,2,个元素中,,a(2),不动,(3),重复,(1),,依次比较到第,3,个元素,最终将最小的数换入第,3,个元素中,,a(3),不动,比较中,(n-1),a(n),与,a(n-1),比较,如果,a(n),小,与,a(n-1),交换,反之,排序完成,4,方法,2,的,核心代码,For j=2 To 10,For i=10 To j Step-1,If a(i)a(i+1)Then,t=a(i),a(i)=a(i+1),a(i+1)=t,End If,Next i,Next j,Print,Print,排序后:,For i=1 To 10,Print a(i);,Next i,方法,2,(从后往前,小的数向前,上升),Dim a(10)As Integer,Dim i%,j%,t%,Print,排序前:,Randomize,For i=1 To 10,a(i)=Int(Rnd*100),Print a(i);,Next i,For j=2 To 10,For i=10 To j Step-1,If a(i)a(i-1)Then,t=a(i),a(i)=a(i-1),a(i-1)=t,End If,Next i,Next j,Print,Print,排序后:,For i=1 To 10,Print a(i);,Next i,6,
展开阅读全文