[英]How to sort VB.net array in ASC
首先,我必須承認我是VB.net的初學者。 我有此代碼,必須按升序對數組進行排序。 首先它將要求多少數組大小,然后插入數據。 但是我要使它正常工作面臨問題。有人可以幫我嗎? 下面是我的代碼:
Module Module1
Sub Main()
Dim A(20) As Integer
Dim num, i, j, k, arr, temp As Integer
Console.Write("enter size num:")
Dim add = Console.ReadLine
If Integer.TryParse(add, num) Then
'Console.WriteLine("valid. num = " & num)
For i = 0 To num - 1
Console.Write("enter num:")
A(i) = Console.ReadLine
Next i
For i = 0 To num - 1
For j = i + 1 To num - j
If A(i) > A(j) Then
temp = A(i)
A(i) = A(j)
A(j) = temp
End If
Next j
Console.Write(A(i))
Next i
Else
Console.WriteLine("Invalid.Data is not number")
End If
Console.ReadLine()
End Sub
End Module
謝謝,任何幫助將不勝感激。
您問題的直接原因是
Console.Write(A(i))
在完成排序操作之前將調用。 第二個問題是您沒有驗證輸入的數字,您確實應該在代碼頂部指定Option Strict On
並清除導致的編譯錯誤。
如果您將其寫為練習,那很好,但是出於生產目的,您應該首選Tim Schmelter的方法。
您還沒有提到您的問題。 但是,通常對Int32()
排序非常容易,可以使用Array.Sort
:
Array.Sort(A) ' finished '
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.