誰能用vb給我寫個氣泡排序

2025-03-06 08:14:56 字數 2592 閱讀 3904

1樓:匿名使用者

演算法不變,改一種格式而已。

vb 氣泡排序

2樓:難得糊塗

for j = 6 to i + 1 step -1 你結合下面一句 if a(j - 1) >a(j) then 就好理解了,該過程是排序a(1)到a(6)6個陣列值,j 迴圈時是使用遞減方法,在比較時a(j - 1)中最j-1最小值只能是1所以i+1

我一般都是這麼寫,更容易理解一點:

for i=1 to 5

for j=i+1 to 6

if a(i)>a(j) then t=a(i):a(i)=a(j):a(j)=t

nextnext

3樓:餘讓厚俏

a是陣列啊,就是要排序的那些引數lbound(a) 和。

ubound(a)分別取出陣列的上下標,這樣可以根據上下標來確定陣列中某個引數的值,就是第幾個的意思。

vb 氣泡排序,快救救我吧。我都混亂死了。到底計算機每一步怎麼算出來的?

4樓:寒信

計算機氣泡排序法是用兩層迴圈,外迴圈i=1到5,內迴圈j=6到i。排序的思路是先把六個中最大的排到第乙個,然後把剩下五個中最大的排到第二位,再把剩下四個中最大的排到第三位,以此類推。

執行過程如下。

第一次外迴圈,i=1,進入內迴圈,從第六到第一每次取兩個數出來比較,如果大小順序不對就換位。

第一次內迴圈比較第五個和第六個就是3和4,順序不正確換位 251643

第二次內迴圈比較第四個和第五個就是6和4,順序正確不換位 251643

第三次內迴圈比較第三個和第四個就是1和6,順序不正確換位 256143

第四次內迴圈比較第二個和第三個就是5和6,順序不正確換位 265314

第五次內迴圈比較第乙個和第二個就是2和6,順序不正確換位 625341

第一次外迴圈結束,可以看到最大的6排到了第一位。

第二次外迴圈,i=2,進入內迴圈,從第六到第二每次取兩個數出來比較。

第一次內迴圈比較41,順序正確不換位 625341

第二次內迴圈比較34,順序不正確換位 625431

第三次內迴圈比較54,順序正確不換位 625431

第四次內迴圈比較25,順序不正確換位 652431

5排到第二位。

第三次外迴圈,i=3,從第六到第三每次取兩個數出來比較。

第一次內迴圈比較31,順序正確不換位 652431

第二次內迴圈比較43,順序正確不換位 652431

第三次內迴圈比較24,順序不正確換位 654231

第四次外迴圈,i=4,從第六到第四每次取兩個數出來比較。

第一次內迴圈比較23,順序不正確換位 654321

第二次內迴圈比較21,順序正確不換位 654321

第五次外迴圈,i=4,從第六到第四每次取兩個數出來比較。

第一次內迴圈比較21,順序正確不換位 654321完畢。

5樓:我叫明輝

private sub command1_click()

dim x(1 to 5) as double, i%, j%, t

x(1) = val(text1)

x(2) = val(text2)

x(3) = val(text3)

x(4) = val(text4)

x(5) = val(text5)

for i = 1 to 5 - 1 '有5個數要排序,需要進行5-1=4次兩兩比較。

for j = 5 to i + 1 step -1 '從末尾乙個元素到第i個元素進行兩兩比較。

if x(j) 」

若次序不對,則馬上交換位置。

t = x(j)

x(j) = x(j - 1)

x(j - 1) = t

end if

next j '除了內迴圈,一輪排序結束,最小(或最大)數已經冒到陣列第一位。

next i

x(1) x(2)

x(3) x(4)

x(5)end sub

form:

6樓:網友

時間長了,有點忘記了,但是看你過程起來了。冒泡就是每次選擇前兩數進行比較大小。52沒錯21沒錯61違反大小排序。

變成你說的第2次,再次重頭開始!52沒錯26有錯換位,變成第三次,重來!第4次你寫錯了是:

652134,5次652314,6次653214

7次653241,8次653421

9次654321,完成!!記住原則,換位後重新開始冒泡!

7樓:網友

冒泡是從小到大。。。

#include ""

void main()

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

printf("%d ",a[i]);

自己試試,就是第一次:1 5 2 6 3 4 第二次:1 2 5 6 3 4 第三次 1 2 3 6 5 4 第四次 1 2 3 5 6 4 第五次:

1 2 3 4 6 5 第六次:1 2 3 4 5 6 主要是第。

二、三個迴圈判斷。

VB的簡單氣泡排序

原因有二,一是你沒把變數賦值 因此輸出全是0 二是你的程式有些錯誤,應該是a i 而不是a 1 下面為修改後的程式。private sub command1 click dim a 30 as integer dim i,j,tem as integerconst n 30 給a i 賦值 for ...

vb中輸入數字,並按照有大到小排序氣泡排序

看上面那一大段,我暈了 b 下面的是從小到大排序的,從大到小隻需改一個 號,看下面的註釋,整個過程不變的。private sub mand1 click dimx 1 to5 asdouble,i j tx 1 val text1 x 2 val text2 x 3 val text3 x 4 va...

如何寫個人簡介,怎麼寫個人簡介?誰能給我個範本

給你舉個例子 人物簡介 英文名 jet li 中文名 李連杰 生日 1963年4月26日 出生地 中國 北京 身高 169 體重 66kg 生肖 兔 喜歡的運動 羽毛球 簡介 李連杰,1963年4月26日出生於北京。家族姐妹中排行最小。1971年暑假進入北京體育運動學校學習,從此走上習武之路。198...