?? 新建 文本文檔.txt
字號(hào):
7
'組合框combo1的單擊事件,選擇升降序
Private Sub Combo1_Change()
Select Case Combo1.ListIndex
case0
Combo1.Text = "升序"
case1
Combo1.Text = "降序"
End Select
End Sub
'字號(hào)組合框combo2的單擊事件,選擇排序方法
Private Sub Combo2_Change()
End Sub
'產(chǎn)生隨機(jī)數(shù)
Private Sub Command1_Click()
Dim number(1 To 100) As Integer
Dim m As Integer
Randomize
For m = 1 To 100
number(m) = Int(Rnd * 100) + 1
List1.AddItem number(m)
Next m
End Sub
'升序
Private Sub Command2_Click()
Dim m As Integer
Dim number(1 To 100) As Integer
For m = 0 To 99
number(m + 1) = List1.List(m)
Next m
For i = 1 To 100
For j = 1 To 100 - i '比較次數(shù)逐漸減少
If number(j) > number(j + 1) Then
t = number(j)
number(j) = number(j + 1)
number(j + 1) = t
End If
List2.AddItem number(j + 1)
Next j
Next i
Print
End Sub
'在load事件中,將各列表項(xiàng)加入到組合框combo1、組合框combo2中
Private Sub Form_Load()
Combo1.AddItem "升序"
Combo1.AddItem "降序"
Combo2.AddItem "冒泡排序"
Combo2.AddItem "插入排序"
Combo2.AddItem "桶排序"
Combo2.AddItem "選擇排序"
Combo2.AddItem "希爾排序"
Combo2.AddItem "快速排序"
Combo2.AddItem "堆排序"
End Sub
Option Explicit
Option Base 1
Dim aarray() '定義數(shù)組
Dim h '定義循環(huán)次數(shù)為h
Private Sub cmbSorts_Click()
If cmbSorts.ListIndex > 6 Then 'cmbsorts的列表序號(hào)大于6時(shí)
cmbOrder.Enabled = False 'cmborder不可操作
Else
cmbOrder.Enabled = True
End If
End Sub
Private Sub Command1_Click()
Dim i
Dim j
If Len(Trim$(shuzudaxiao)) = 0 Then
shuzudaxiao = "0" '當(dāng)數(shù)組大小為空時(shí)默認(rèn)為零
End If
ReDim aarray(CDbl(shuzudaxiao)) '定義數(shù)組數(shù)的個(gè)數(shù)為輸入數(shù)字
Randomize '初始化隨機(jī)數(shù)
weipailie.Clear '將未排列框內(nèi)容清空
For i = 1 To CDbl(shuzudaxiao)
j = Int((32767 - (-32768) + 1) * Rnd + (-32768)) '產(chǎn)生隨機(jī)數(shù)
weipailie.AddItem Str$(j) '將產(chǎn)生的隨機(jī)數(shù)加到下一行
aarray(i) = j
Next
Command2.Enabled = True
End Sub
Private Sub Command2_Click()
Dim i, m
Dim fuction
MousePointer = 11
pailiehou.Clear
i = Timer
lblBegin = "開始時(shí)間: " & i
h = 0 '循環(huán)次數(shù)初值賦為0
Select Case cmbSorts.ListIndex
Case 0 ' 調(diào)用子過程 進(jìn)行排序
Call BubbleSort(aarray()) '冒泡排序
Case 1
Call Selection(aarray()) '選擇排序
Case 2
Call insertion(aarray()) ' 插入排序
Case 3
Call shellsort(aarray()) '希爾排序
Case 4
Call heap(aarray(), m) '堆排序
End Select
lblIterations = "循環(huán)次數(shù): " & Format$(h, "#,#")
lblEnd = "結(jié)束時(shí)間: " & Timer
lblDuration = "耗時(shí): " & Timer - i & " 秒!"
For i = 1 To UBound(aarray)
pailiehou.AddItem aarray(i)
Next
MousePointer = 11
End Sub
Private Sub Form_Load()
cmbOrder.AddItem "升序" '輸入列表項(xiàng)
cmbOrder.AddItem "降序"
cmbOrder.ListIndex = 0
cmbSorts.AddItem "冒泡排序"
cmbSorts.AddItem "選擇排序"
cmbSorts.AddItem "插入排序"
cmbSorts.AddItem "快速排序"
cmbSorts.AddItem "希爾排序"
cmbSorts.AddItem "堆排序"
cmbSorts.AddItem "桶排序"
cmbSorts.ListIndex = 0
weipailie.AddItem "-13322" '輸入未排序列表框內(nèi)容
weipailie.AddItem "21571"
weipailie.AddItem "-5111"
ReDim aarray(1 To 3)
aarray(1) = -13322
aarray(2) = 21571
aarray(3) = -5111
End Sub
'冒泡排序
Sub BubbleSort(aarray())
Dim a
Dim b
Dim t
'升序
If cmbOrder.ListIndex = 0 Then
For a = 1 To UBound(aarray)
For b = 1 To UBound(aarray) - a '從第一輪里找最大的值
If aarray(b) > aarray(b + 1) Then
t = aarray(b)
aarray(b) = aarray(b + 1)
aarray(b + 1) = t '將最大數(shù)換到最下方
h = h + 1
End If
Next b
Next a
End If
'降序
If cmbOrder.ListIndex = 1 Then
For a = 1 To UBound(aarray)
For b = 1 To UBound(aarray) - a
If aarray(b) < aarray(b + 1) Then
t = aarray(b)
aarray(b) = aarray(b + 1)
aarray(b + 1) = t
h = h + 1
End If
Next b
Next a
End If
End Sub
'選擇排序
Sub Selection(aarray())
Dim a
Dim b
Dim t
Dim imax
'升序
If cmbOrder.ListIndex = 0 Then
For a = 1 To UBound(aarray) - 1
imax = a '為最大值賦初值
For b = a + 1 To UBound(aarray)
If aarray(imax) > aarray(b) Then
imax = b
End If
h = h + 1
Next b
t = aarray(a) '將最大值換到最后一位
aarray(a) = aarray(imax)
aarray(imax) = t
Next a
End If
'降序
If cmbOrder.ListIndex = 1 Then
For a = 1 To UBound(aarray) - 1
imax = a
For b = a + 1 To UBound(aarray)
If aarray(imax) < aarray(b) Then
imax = b
End If
h = h + 1
Next b
t = aarray(a)
aarray(a) = aarray(imax)
aarray(imax) = t
Next a
End If
End Sub
李立彥 16:34:02
就在QQ聊天中
.賈天西 . 16:34:11
哦
.賈天西 . 16:34:17
收到
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -