Archief - VB.net Probleem Arrays

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

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

NeverwinterX

Legacy Member
Verplaats het stukje dat de array print naar onderaan gewoon?

ObI1KeNoBi

Legacy Member
Zucht.. Sorry voor domme vraag..
Was een lange werkweek :)

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

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
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()

count += 1
If count > capacity Then
capacity *= 2
ReDim Preserve numbers(capacity - 1)
End If
numbers(count - 1) = number

Loop
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan