form1.vb
来自「Visual.Basic.NET实用编程百例-47.6M.zip」· VB 代码 · 共 364 行 · 第 1/2 页
VB
364 行
Me.lblEnd.Size = New System.Drawing.Size(60, 17)
Me.lblEnd.TabIndex = 6
Me.lblEnd.Text = "结束时间:"
'
'lblBegin
'
Me.lblBegin.AutoSize = True
Me.lblBegin.BackColor = System.Drawing.SystemColors.ScrollBar
Me.lblBegin.Cursor = System.Windows.Forms.Cursors.Default
Me.lblBegin.ForeColor = System.Drawing.SystemColors.WindowText
Me.lblBegin.Location = New System.Drawing.Point(160, 88)
Me.lblBegin.Name = "lblBegin"
Me.lblBegin.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.lblBegin.Size = New System.Drawing.Size(60, 17)
Me.lblBegin.TabIndex = 5
Me.lblBegin.Text = "开始时间:"
'
'Label3
'
Me.Label3.AutoSize = True
Me.Label3.BackColor = System.Drawing.SystemColors.ScrollBar
Me.Label3.Cursor = System.Windows.Forms.Cursors.Default
Me.Label3.ForeColor = System.Drawing.SystemColors.WindowText
Me.Label3.Location = New System.Drawing.Point(160, 24)
Me.Label3.Name = "Label3"
Me.Label3.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.Label3.Size = New System.Drawing.Size(54, 17)
Me.Label3.TabIndex = 2
Me.Label3.Text = "数组大小"
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.BackColor = System.Drawing.SystemColors.ScrollBar
Me.Label2.Cursor = System.Windows.Forms.Cursors.Default
Me.Label2.ForeColor = System.Drawing.SystemColors.WindowText
Me.Label2.Location = New System.Drawing.Point(336, 8)
Me.Label2.Name = "Label2"
Me.Label2.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.Label2.Size = New System.Drawing.Size(66, 17)
Me.Label2.TabIndex = 12
Me.Label2.Text = "排序后数据"
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.BackColor = System.Drawing.SystemColors.ScrollBar
Me.Label1.Cursor = System.Windows.Forms.Cursors.Default
Me.Label1.ForeColor = System.Drawing.SystemColors.WindowText
Me.Label1.Location = New System.Drawing.Point(8, 8)
Me.Label1.Name = "Label1"
Me.Label1.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.Label1.Size = New System.Drawing.Size(66, 17)
Me.Label1.TabIndex = 0
Me.Label1.Text = "未排序数据"
'
'Form1
'
Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
Me.BackColor = System.Drawing.SystemColors.ScrollBar
Me.ClientSize = New System.Drawing.Size(492, 341)
Me.Controls.Add(Me.cmbOrder)
Me.Controls.Add(Me.txtSize)
Me.Controls.Add(Me.cmbSorts)
Me.Controls.Add(Me.Button2)
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.lstSorted)
Me.Controls.Add(Me.lstUnsorted)
Me.Controls.Add(Me.lblIterations)
Me.Controls.Add(Me.lblDuration)
Me.Controls.Add(Me.lblEnd)
Me.Controls.Add(Me.lblBegin)
Me.Controls.Add(Me.Label3)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.Label1)
Me.Cursor = System.Windows.Forms.Cursors.Default
Me.ForeColor = System.Drawing.SystemColors.WindowText
Me.Location = New System.Drawing.Point(97, 115)
Me.Name = "Form1"
Me.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.StartPosition = System.Windows.Forms.FormStartPosition.Manual
Me.Text = "排序算法演示"
Me.ResumeLayout(False)
End Sub
#End Region
Dim mArray() As Object
Private Sub cmbSorts_SelectedIndexChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmbSorts.SelectedIndexChanged
If cmbSorts.SelectedIndex > 4 Then
cmbOrder.Enabled = False
Else
cmbOrder.Enabled = True
End If
End Sub
Private Sub Button1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Button1.Click
Dim I As Object
Dim J As Object
If Len(Trim(txtSize.Text)) = 0 Then txtSize.Text = "0"
ReDim mArray(CDbl(txtSize.Text) - 1)
Randomize()
lstUnsorted.Items.Clear()
For I = 0 To CDbl(txtSize.Text) - 1
J = Int((32767 - (-32768) + 1) * Rnd() + (-32768))
lstUnsorted.Items.Add(Str(J))
mArray(I) = J
Next
Button2.Enabled = True
End Sub
Private Sub Button2_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Button2.Click
Dim I As Object
Cursor = System.Windows.Forms.Cursors.WaitCursor
lstSorted.Items.Clear()
I = VB.Timer()
lblBegin.Text = "开始时间: " & I
gIterations = 0
Select Case cmbSorts.SelectedIndex
Case 0
Call BubbleSort(mArray, cmbOrder.SelectedIndex)
Case 1
Call Insertion(mArray, cmbOrder.SelectedIndex)
Case 2
Call Bucket(mArray, cmbOrder.SelectedIndex)
Case 3
Call Selection(mArray, cmbOrder.SelectedIndex)
Case 4
Call ShellSort(mArray, cmbOrder.SelectedIndex)
Case 5
Call QuickSort(mArray, 0, UBound(mArray))
Case 6
Call Heap(mArray)
End Select
lblIterations.Text = "循环次数: " & Format(gIterations, "#,#")
lblEnd.Text = "结束时间: " & VB.Timer()
lblDuration.Text = "持续时间: " & VB.Timer() - I & " 秒!"
For I = 0 To UBound(mArray)
lstSorted.Items.Add(mArray(I))
Next
Cursor = System.Windows.Forms.Cursors.Default
End Sub
Private Sub Form1_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load
cmbOrder.Items.Add("升序")
cmbOrder.Items.Add("降序")
cmbOrder.SelectedIndex = 0
cmbSorts.Items.Add("冒泡排序法")
cmbSorts.Items.Add("插入排序法")
cmbSorts.Items.Add("Bucket排序法")
cmbSorts.Items.Add("选择排序法")
cmbSorts.Items.Add("Shell排序法")
cmbSorts.Items.Add("快速排序法")
cmbSorts.Items.Add("Heap排序法")
cmbSorts.SelectedIndex = 0
lstUnsorted.Items.Add("-1322")
lstUnsorted.Items.Add("2171")
lstUnsorted.Items.Add("-511")
ReDim mArray(2)
mArray(0) = -1322
mArray(1) = 2171
mArray(2) = -511
End Sub
End Class
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?