氣泡排序法

2021-07-11 22:50:08 字數 1835 閱讀 7212

dim a(1 to 10)

private sub command1_click()

form_load
end sub

private sub command2_click()
p = 「」

for i = 1 to 9     '氣泡排序

for j = 1 to 10 - i

if a(j) < a(j + 1) then '相鄰兩個數比較

t = a(j): a(j) = a(j + 1): a(j + 1) = t '交換

end if

next j

next i

for i = 1 to 10

p = p & str(a(i)) & 「,」 『連線2個字串

next i

label2.caption = ltrim(left(p, len(p) - 1)) 『去掉前面空格的函式,展現最後效果

end sub

private sub form_load()

dim p as string

randomize

p = ""

for i = 1 to 10

dox = int(rnd * 91) + 10 '產生隨機數

yes = 0

for j = 1 to i - 1 '使產生的陣列元素互不相同

if x = a(j) then yes = 1: exit for '當yes = 1 時退出迴圈

基本思想:(將相鄰兩個數比較,小的調到前頭)

1)有n個數(存放在陣列a(n)中),第一趟將每相鄰兩個數比較,小的調到前頭,經n-1次兩兩相鄰比較後,最大的數已「沉底」,放在最後乙個位置,小數上公升「浮起」;

2)第二趟對餘下的n-1個數(最大的數已「沉底」)按上法比較,經n-2次兩兩相鄰比較後得次大的數;

3)依次類推,n個數共進行n-1趟比較,在第j趟中要進行n-j次兩兩比較。

之前的關注點主要放在氣泡排序是怎麼排的,卻忽略了什麼叫氣泡排序。

氣泡排序的定義:

氣泡排序(bubble sort,台灣譯為:泡沫排序或氣泡排序)是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。

這個演算法的名字由來是因為越大的元素會經由交換慢慢「浮」到數列的頂端,故名。

【c#版】

private void button1_click(object sender, eventargs e)

;int i, j;

int t;

for (i = 0; i <=9; i++)}}

for (i = 0; i <=9; i++)

氣泡排序 氣泡排序法

冒泡法是一種簡單的排序方法,它的實現非常簡單。首先對n個專案進行掃瞄,比較相領兩個專案的大小,若發現違背大小次序則進行互換,由此可以使n個專案中的最大者換到最後。然後對剩下的未排序好的專案再進行掃瞄,使它們的最大者換到表的最後。以此類推,直到將表全部排序好為止。這種排序方法,每遍掃瞄以後,都縮短了待...

排序 氣泡排序法

氣泡排序法,是最簡單的一種排序方法,從第乙個位置開始與相鄰位置比較,判斷是否需要交換位子。第一趟從第乙個位置開始,直到最後乙個位置,a n 1 確定最大 以公升序為例子 的數放在最後一位,a n 1 第二趟,繼續從第乙個位置開始,倒數第二位,a n 2 確定倒數第二大的數在倒數第二位a n 2 演算...

氣泡排序法

從小到大排序 int myarray new int 取長度最長的片語 冒泡法 for int j 1 jfor int i 0 i 如果 myarray i myarray i 1 則 myarray i 上浮一位 if myarray i myarray i 1 從大到小排序 int myarr...