Private?Sub Command1_Click()
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序定制開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了源城免費建站歡迎大家使用!
Dim a(1 To 10) As Integer
For i = 1 To 10
a(i) = Int(Rnd * 10)
Print a(i);
Next i
'以上十隨機得出10個數(shù)
For i = 1 To 9 '這里開始是雙重循環(huán)
For j = i + 1 To 10
If a(i) a(j) Then '如果前一個數(shù)大于后一個數(shù)則交換位置
t = a(i): a(i) = a(j): a(j) = t
End If
Next j
Print a(i);
Next i
Print a(i);
End Sub
I等于1時 就是拿第一位和第二位比較 比較大的的數(shù)排后面 然后比較第一位和第三位 For j = i + 1
To 10 直到比較到最后一位
i=2 時也是如此 循環(huán)9次就完成排序
5 3 2 7
i=1 時
J=2時 3 5 2 7
J=3時 2 5 3 7
j=4時 2 5 3 7
I=2時
j=3時 2 3 5 7
擴展資料
Private?Sub?Command1_Click()
Dim?a(10)?As?Integer
Dim?b?As?Integer
Dim?i?As?Integer
Dim?j?As?Integer
Dim?k?As?Integer
For?i?=?1?To?10
a(i)?=?Int(Rnd?*?90?+?10)
Print?a(i);
Next?i
For?i?=?1?To?9
k?=?i
For?j?=?k?+?1?To?10
If?a(j)??a(k)?Then?k?=?j
Next?j
If?a(i)??a(k)?Then
b?=?a(i)
a(i)?=?a(k)
a(k)?=?b
End?If
Next?i
For?i?=?1?To?10
Print?a(i);
Next?i
End?Sub
參考資料:百度百科 - 選擇法排序
冒泡排序的思想為:每一次排序過程,通過相鄰元素的交換,將當(dāng)前沒有排好序中的最大(?。┮频綌?shù)組的最右(左)端。選擇排序的思想也很直觀:每一次排序過程,我們獲取當(dāng)前沒有排好序中的最大(?。┑脑睾蛿?shù)組最右(左)端的元素交換,循環(huán)這個過程即可實現(xiàn)對整個數(shù)組排序。還有就是選擇排序的平均時間復(fù)雜度比冒泡排序的稍低:
同樣數(shù)據(jù)的情況下,2種算法的循環(huán)次數(shù)是一樣的,但選擇排序只有0到1次交換,而冒泡排序只有0到n次交換
Private Sub Command4_Click()
Dim t As clerk, i%, j%
For i = 0 To n - 1
? For j = i To n - 2
? ? ? If a(i).vc a(j + 1).vc Then
? ? ? ? ? t = a(i): a(i) = a(j + 1): a(j + 1) = t
? ? ? End If
? Next j
Next i
Picture2.Cls
Picture2.Print "學(xué)號? ? ? ? ? 姓名? ? ? ? ? ?VC? ? ? ? ? ? VB"
Picture2.Print "---------------------------------------------"
For i = 0 To n - 1
? Picture2.Print a(i).number, a(i).name, a(i).vc, a(i).vb
Next i
End Sub
擴展資料
vb數(shù)組排序思路:
1、冒泡排序法:
位置相鄰兩數(shù)進行兩兩比較,在比較時如果發(fā)現(xiàn)前面的數(shù)比后面的數(shù)大,則進行交換,都比較完一輪后,把最大一個數(shù)放到最后,如此進行下去即可完成冒泡排序。
2、比較交換法
假設(shè)第一個數(shù)最小,然后第一個數(shù)依次與后面的每個數(shù)都進行比較, 若比較時發(fā)現(xiàn)后面的數(shù)比第一個數(shù)小, 則兩數(shù)位置進行交換, 全部都比較完算一輪,每一輪比較完后,第一個數(shù)是最小的數(shù),如此進行即可完成比較排序。
3、選擇排序
假設(shè)第一個數(shù)最小,接著記下最小數(shù)所在的位置,然后將最小數(shù)依次與后面的每一個數(shù)都進行比較,若比較時發(fā)現(xiàn)后面的數(shù)比最小的數(shù)還小,則修改最小數(shù)所在位置,全部都比較完算一輪。
每一輪比較完后,最小數(shù)所在的位置是否跟假設(shè)的是同一個位置,若不是,則最小數(shù)與第一個數(shù)進行交換位置,如此進行即可完成選擇排序。
網(wǎng)頁標(biāo)題:選擇法排序vb.net 選擇法排序C語言PTA
文章網(wǎng)址:http://muchs.cn/article6/hhecig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、營銷型網(wǎng)站建設(shè)、網(wǎng)站排名、電子商務(wù)、靜態(tài)網(wǎng)站、App開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)