ObI1KeNoBi
Legacy Member
Weet iemand hoe je de volgende Array kan sorteren met insertion sort voor dat de getallen terug op de console komen?
Het programma zet nu altijd eerst de "unsorted" array en gaat daarna pas sorteren; bedoeling is dat ze direct gesorteerd worden.
Als iemand me kan helpen,
Alvast Bedankt!
Dim capacity As Integer = 2
Dim count As Integer
Dim numbers(capacity - 1) As Integer
'
Do
Dim index As Integer
Dim upperbound As Integer = count - 1
Console.Write("Numbers ( capacity " & capacity & _
", count " & count & " ) : ")
For index = 0 To upperbound
Console.Write(numbers(index) & " ")
Next
Console.WriteLine()
Console.Write("Number ? : ")
Dim number As Integer = Console.ReadLine()
Dim unsortedCount As Integer = count
Do Until unsortedCount = 0
Dim startIndexUnsortedPart As Integer = count - unsortedCount
'
Dim backup As Integer = numbers(startIndexUnsortedPart)
'
index = startIndexUnsortedPart - 1
Do While index >= 0 AndAlso numbers(index) > backup
numbers(index + 1) = numbers(index)
index -= 1
Loop
'
numbers(index + 1) = backup
'
unsortedCount -= 1
'
Loop
count += 1
If count > capacity Then
capacity *= 2
ReDim Preserve numbers(capacity - 1)
End If
numbers(count - 1) = number
Loop
Het programma zet nu altijd eerst de "unsorted" array en gaat daarna pas sorteren; bedoeling is dat ze direct gesorteerd worden.
Als iemand me kan helpen,
Alvast Bedankt!
Dim capacity As Integer = 2
Dim count As Integer
Dim numbers(capacity - 1) As Integer
'
Do
Dim index As Integer
Dim upperbound As Integer = count - 1
Console.Write("Numbers ( capacity " & capacity & _
", count " & count & " ) : ")
For index = 0 To upperbound
Console.Write(numbers(index) & " ")
Next
Console.WriteLine()
Console.Write("Number ? : ")
Dim number As Integer = Console.ReadLine()
Dim unsortedCount As Integer = count
Do Until unsortedCount = 0
Dim startIndexUnsortedPart As Integer = count - unsortedCount
'
Dim backup As Integer = numbers(startIndexUnsortedPart)
'
index = startIndexUnsortedPart - 1
Do While index >= 0 AndAlso numbers(index) > backup
numbers(index + 1) = numbers(index)
index -= 1
Loop
'
numbers(index + 1) = backup
'
unsortedCount -= 1
'
Loop
count += 1
If count > capacity Then
capacity *= 2
ReDim Preserve numbers(capacity - 1)
End If
numbers(count - 1) = number
Loop
