首页 > 解决方案 > VB.NET 冒泡排序不排序

问题描述

这里给出的问题是我在尝试通过冒泡排序方法对我的设置值进行排序时遇到的错误。下面是代码,我会得到的错误是'System.IndexOutOfRangeException:'索引超出了数组的范围。第一遍之后。下面是整个代码

Public Class Form1
Public Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim ourArray(20) As Integer
    Dim i As Integer
    ourArray(0) = 20
    ourArray(1) = 12
    ourArray(2) = 1
    ourArray(3) = 15
    ourArray(4) = 5
    ourArray(5) = 9
    ourArray(6) = 10
    ourArray(7) = 4
    ourArray(8) = 3
    ourArray(9) = 8
    ourArray(10) = 2
    ourArray(11) = 6
    ourArray(12) = 13
    ourArray(13) = 14
    ourArray(14) = 7
    ourArray(15) = 17
    ourArray(16) = 11
    ourArray(17) = 16
    ourArray(18) = 18
    ourArray(19) = 19


    Do While ourArray(i) > ourArray(i + 1)
        Dim iTemp As Integer
        For iPass = 0 To 1
            For i = 0 To 19
                If ourArray(i) > ourArray(i + 1) Then
                    iTemp = ourArray(i)
                    ourArray(i) = ourArray(i + 1)
                    ourArray(i + 1) = iTemp
                End If
            Next
        Next iPass

        Dim assist As String
        For i = 0 To 19
            assist = assist & ourArray(i) & vbNewLine

        Next
        MsgBox(assist)
    Loop
End Sub

Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged

End Sub
End Class

目标是在程序启动时按下给定的按钮,并让程序在每次按下通过/按钮时以正确的顺序对给定的随机值进行排序。示例:启动程序,按排序按钮,值 4,5,3,2,1 出现在消息框中。再次按下按钮,其中一个值将位于正确的位置。5,4,3,2,1 -> 1,4,3,2,5 -> 1,2,4,3,5 -> 1,2,3,5,4 -> 1,2,3, 4,5

标签: vb.netbubble-sort

解决方案


推荐阅读