亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用VB解析冒泡排序為什么內循環要8-i?麻煩大佬幫幫忙

如何使用VB解析冒泡排序為什么內循環要8-i?麻煩大佬幫幫忙

慕村9548890 2021-05-30 17:14:17
VB解析冒泡排序為什么內循環要8-i輸入8個數字,從小到大,用冒泡排序Dim a(10) As IntegerPrivate Sub Command1_Click()For i = 1 To 8x = Int(90 * Rnd) + 10a(i) = xText1 = Text1 & x & " "Next iEnd SubPrivate Sub Command2_Click()For i = 1 To 7 '外循環,冒泡排序這一句有什么用For j = 1 To 8 - i '內循環,冒泡排序這一句有什么用 為什么要8-i,If a(j) > a(j + 1) Thent = a(j): a(j) = a(j + 1): a(j + 1) = tEnd IfNext jNext iFor i = 1 To 8Text2 = Text2 & a(i) & " "Next iEnd SubPrivate Sub Form_Load()Text1 = ""Text2 = ""End Sub
查看完整描述

2 回答

?
RISEBY

TA貢獻1856條經驗 獲得超5個贊

冒泡排序(Bubble Sort),是一種計算機科學領域的較簡單的排序算法。
它重復地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重復地進行直到沒有再需要交換,也就是說該數列已經排序完成。
這個算法的名字由來是因為越大的元素會經由交換慢慢“浮”到數列的頂端,故名。每一輪外循環,執行完畢后,最大的元素就會“沉”到最后,而相鄰較小的元素都會“上浮”一位。所以,第一輪,是要比較到最后一個元素;而第二輪則只要比較到倒數第二個數,……,照此類推。
For i = 1 To 7 '外循環,(每一輪循環可將此輪循環中涉及的最大元素“沉”到最后,所以共要N-1輪)
For j = 1 To 8 - i '內循環,已確定有序的元素不再列入排序范圍,所以是到8-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

查看完整回答
反對 回復 2021-06-07
?
ITMISS

TA貢獻1871條經驗 獲得超8個贊

當待排序元素數量較大時,應該選用效率較高的排序方法,例如快速排序、歸并排序等等。

查看完整回答
反對 回復 2021-06-07
  • 2 回答
  • 0 關注
  • 391 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號