論壇交流
首頁辦公自動化| 網頁制作| 平面設計| 動畫制作| 數據庫開發| 程序設計| 全部視頻教程
應用視頻: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
編程視頻: C語言視頻教程 | HTML | Div+Css布局 | Javascript | Access數據庫 | Asp | Sql Server數據庫Asp.net  | Flash AS
當前位置 > 文字教程 > C語言程序設計教程
Tag:新手,函數,指針,數據類型,對象,Turbo,入門,運算符,數組,結構,二級,,tc,游戲,試題,問答,編譯,視頻教程

C語言教程:2013年計算機二級VB常用算法:冒泡法排序

文章類別:C語言程序設計 | 發表日期:12-11-13

2013年計算機二級VB常用算法:冒泡法排序


冒泡法排序
 
  選擇排序法在每一輪排序時找最值元素的下標,出了內循環(一輪排序結束),再交換最小數的位置;而冒泡法在每一輪排序時將相鄰的數比較,當次序不對就交換位置,出了內循環,最值數已經冒出。
 
  譬如:
 
  8 6 9 3 2 7
 
  8 6 9 3 2 7
 
  8 6 9 2 3 7
 
  8 6 2 9 3 7
 
  8 2 6 9 3 7
 
  2 8 6 9 3 7
 
  ….
 
  2 3 8 6 9 7
 
  ….
 
  2 3 6 8 7 9
 
  ….
 
  2 3 6 7 8 9
 
  ….
 
  2 3 6 7 8 9
 
  程序代碼如下:
 
以下是引用片段:
  Private Sub mpPaiXu(a() As Double, sheng As Boolean)
  'a為需要排序的數組,sheng為True則為升序排列,為False,則為降序排列。
  Dim i As Integer, j As Integer
  Dim temp As Double
  Dim m As Integer
  For i = LBound(a) To UBound(a) - 1 '進行n-1輪比較
  For j = UBound(a) To i + 1 Step -1 '從n到i個元素兩兩進行比較
  If sheng Then '若次序不對,馬上進行交換
  If a(j) < a(j - 1) Then
  temp = a(j)
  a(j) = a(j - 1)

  a(j - 1) = temp
  End If
  Else
  If a(j) > a(j - 1) Then
  temp = a(j)
  a(j) = a(j - 1)
  a(j - 1) = temp
  End If
  End If
  Next j '出了內循環,一輪排序結束
  '最值元素冒到最上邊
  Next i
  End Sub
  調用該過程代碼基本同上。
  2、實戰練習
  1) 補充代碼
 
  下面是一個采用拉鋸式排序法對數組元素按升序進行排序的程序,所謂“拉鋸式排序法”是這一遍把最小的元素從下到上送到最上的位置,下一遍則是從上到下把最大的元素送到最下的位置。
 
以下是引用片段:
  Option Base 1
  Private Sub Command1_Click()
  Dim a(10) As Integer,i As Integer
  For i = 1 To 10
  a(i) = Int(Rnd * 10)+1
  Text1 = Text1 & Str(a(i))
  Next i
  Call shaker_sort(a)
  For i = 1 To 10
  Text2 = Text2 & Str(a(i))
  Next i
  End Sub
  Private Sub Shaker_sort(k() As Integer)
  Dim i As Integer,c As Integer,d As Integer
  Dim t As Integer
  c = 1
  d = (1)
  Do
  For  (2) Step-1
  If k(i=1)>k(i) Then
  t = k(i-1):k(i-1) = k(i):k(i) = t
  End If
  Next i
  (3)
  For i = c+1 To d
  If (4) Then
  t = k(i-1):k(i-1) = k(i):k(i) = t
  End If
  Next i
  d = d-1
  Loop While  (5)
  End Sub

視頻教程列表
文章教程搜索
 
C語言程序設計推薦教程
C語言程序設計熱門教程
看全部視頻教程
購買方式/價格
購買視頻教程: 咨詢客服
tel:15972130058
打羽毛球的好处