vb.net - 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
解决方案
推荐阅读
- jquery - 有没有办法在页面加载后执行从外部 javascript 文件发送的 django 标签
- php - 什么会重新生成 WordPress index.php 文件
- bash - 在for循环中并行
- c++ - 为什么 range::ostream_iterator 默认可构造?
- c++ - 用 oeis 序列形成 nxn 矩阵的代码 A072567
- sql - 如何从雪花表的列中只获取英语?
- azure - 如何强制 Azure 数据工厂数据流使用 Databricks
- javascript - 将值从表单传递到另一个组件
- ios - 用于匹配带有小写和破折号的特定 URL 的正则表达式
- android - RecyclerView中没有数据时过滤错误空指针