Yakın zamanda görsel temelde bir seçim sıralama programı oluşturmaya çalışıyorum. Bir dizideki tamsayıları azalan sıraya göre sıralamayı başardım, ancak aynı yöntemi kullanmak için diziyi sıralama düzenini başarılı bir şekilde sıralamak için kullanmaya çalıştım ama başarılı bir şekilde aralık "hatası. Dediğim gibiVisual Basic Selection Sıralama "Endeks aralık dışı"
Sub sortDescending()
Dim array() As Integer = {3, 5, 200}
Dim maxPos As Integer
Dim firstI As Integer
While firstI <= UBound(array)
For i = firstI To UBound(array)
If array(i) > array(maxPos) Then
maxPos = i
End If
Next
Dim largestNumber As Integer = array(maxPos)
array(maxPos) = array(firstI)
array(firstI) = largestNumber
firstI = firstI + 1
maxPos = firstI
Console.WriteLine(largestNumber)
End While
End Sub
Sub sortAscending()
Dim array() As Integer = {3, 5, 200}
Dim minpos As Integer
Dim firstI As Integer
While firstI >= LBound(array)
For i = firstI To LBound(array)
If array(i) < array(minpos) Then
minpos = i
End If
Next
Dim smallestNumber As Integer = array(minpos)
array(minpos) = array(firstI)
array(firstI) = smallestNumber
firstI = firstI + 1
minpos = firstI
Console.WriteLine(smallestNumber)
End While
, artan sıralama, ancak herhangi bir sorun ile çalışır yükselen biri bana hata veriyor: Aşağıda benim kodudur. Bunu nasıl düzelteceğimi gösterebilecek biri var mı? Teşekkürler :)
Ne hattında bize bildirmeniz gerekir hatayı al. Ayrıca 'data = data.OrderByDescending (İşlev (x) x) .ToArray()' tek ihtiyacınız olan şeydir. – Plutonix
yükselen için "OrderByDescending" için "OrderBy" değiştirmek Oh, benim hata, "Dim SmallestNumber As Integer = dizi (minpos) üzerinde hatayı alıyorum. Maalesef bu program bir atama içindir, bu nedenle seçim sıralama yöntemi kullanılarak yapılması gerekir:/ –
'firstI> = LBound (dizi)' her zaman Doğrudur, bu nedenle döngüden çıkmayacaksınız ... 2'nin üzerine çıktığında, Endeks alanın dışındadır.Özel bir nedenle kendi sıralama rutini oluşturmuyorsanız , Plutonix'in önerdiği gibi yapmalı ve sınıflandırma yeteneklerini kullanmalısınız –