vb二維陣列冒泡發排序

2022-06-19 01:50:10 字數 1756 閱讀 1337

1樓:匿名使用者

氣泡排序 比如說2 4 1 5 9 3要從小到大排序 先比較2 4,順序正確. 然後4 1,逆序,交換變成2 1 4 5 9 3 接下來比較4 5,正確 5 9 正確 9 3 逆序,交換 於是第一趟排序結果是2 1 4 5 3 9 接著第二趟排序 2 1 逆序,交換 1 2 4 5 3 9 2 4 正確, 4 5 正確, 5 3 錯誤,交換 1 2 4 3 5 9, 這樣進行交換,一直到整個序列順序都正確為止.. 由於每趟排序的時候,最後一個數必定是最大的(降序排序時是最小的),就像氣泡升起一樣..

所以叫做氣泡排序..

2樓:匿名使用者

option explicitprivate sub form_activate()

dim arr(1 to 20, 1 to 2) as long, i as integer, j as integer

dim a as long, b as long

for i = 1 to ubound(arr, 1)

for j = 1 to ubound(arr, 2)

randomize

arr(i, j) = int(rnd * 10000) + 1

next

next

for i = 1 to ubound(arr, 1) - 1

for j = i + 1 to ubound(arr, 1)

if arr(i, 1) > arr(j, 1) then

a = arr(i, 1): b = arr(i, 2)

arr(i, 1) = arr(j, 1): arr(i, 2) = arr(j, 2)

arr(j, 1) = a: arr(j, 2) = b

elseif arr(i, 1) = arr(j, 1) then

if arr(i, 2) > arr(j, 2) then

a = arr(i, 1): b = arr(i, 2)

arr(i, 1) = arr(j, 1): arr(i, 2) = arr(j, 2)

arr(j, 1) = a: arr(j, 2) = b

end if

end if

next

next

for i = 1 to ubound(arr, 1)

for j = 1 to ubound(arr, 2)

print arr(i, j),

next

print

next

end sub

3樓:匿名使用者

和一維陣列一樣啊123456789和123456789氣泡排序沒什麼區別無非是多一次迴圈

4樓:匿名使用者

private sub form_click()dim a, c as variant

dim i as integer, temp as integer, w as integer

a = array(12, 45, 17, 80, 50)for i = 0 to ubound(a) - 1if (a(i) > a(i + 1)) then '若是遞減,改為a(i)

temp = a(i)

a(i) = a(i + 1)

a(i + 1) = temp

end if

next

for each c in a

print c;

next

end sub

c語言二維陣列下標表示方法,C語言二維陣列下標表示方法

下標就是在裡的,他是重0開頭的。具體表示如下 int a 5 5代表a最後個陣列裡的元素個數 是初學者吧!要努力喲!int n float a n n 都是從0開始到n 1 c語言二維陣列下標的值怎麼算 陣列的下標是從0開始,由於陣列是連續儲存的,你可以想象用一個4x4的 來表達這個陣列,然後把fo...

php二維陣列轉JS

應該沒有問題哈,我測試的 正常輸出了0b81 var str var arr json.parse str console.log arr 1 name data array array id 1 albumid 8 name 0ac9 array id 2 albumid 8 name 0b81 ...

程式設計實現對一維陣列進行氣泡排序的函式,並在main函式中驗證程式的正確性

include define n 10 int main n個元素 for j 0 j抄n 1輪外迴圈襲 for i 0 i 編寫一個函式對一維陣列進行氣泡排序 int bubbleimprovedsort int a,int len comparenum 比較次數加1 if exchange 0 ...