Op
http://www.algosort.com/ vind je allerlei oplossingen voor programmeer-problemen.
Zoals ook een manier om te sorteren :
de insertion sort.
Ik heb de oplossing die ze daar aangeven eenvoudig omgezet in een werkend programma.
Een voorbeeld in Vb.Net:
'
' Created by SharpDevelop.
' User: roland
' Date: 31-12-2007
' Time: 15:26
' '
Module Program
Sub Main()
' invoer: 8,4,9,1,3,5
' uitvoer moet zijn : 134589
Dim a() As Integer={ 8,4,9,1,3,5}
Dim antwoord As String = ""
Dim j As Integer
Dim t As Integer
'begin bij het tweede getal, en tot aan het einde van de reeks "a"
For i As Integer = 1 To a.Length -1
j = i
'bewaar het getal uit reeks "a"
t = a(j)
'zolang niet het begin van d reeks "a" is bereikt, en het getal links groter is dan het bewaarde getal
While j>0 AndAlso a(j-1)> t
'schuif het getal naar rechts
a(j) = a(j-1)
j = j - 1
End While
'alle grotere getallen staan nu rechts van het bewaarde getal
'zet het bewaarde getal op zijn nieuwe plek
a(j) = t
Next
' maak een string van alle getallen:
For i As Integer = 1 To a.Length -1
antwoord += a(i).ToString()
Next
Console.WriteLine("antwoord:" & antwoord)
Console.Write("Press any key to continue . . . ")
Console.ReadKey(True)
End Sub
End Module