VB. NET Bubble Sorting sort - PullRequest
       12

VB. NET Bubble Sorting sort

0 голосов
/ 27 марта 2020

проблема, представленная здесь, является ошибкой, которую я получил, пытаясь отсортировать мои установленные значения методом пузырьковой сортировки. Ниже приведен код, и ошибка, которую я получу, будет «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

...