'Primer 12c: sortiranje umetanjem (insertion sort)
Sub insertionsort(niz() As Integer, n As Integer)
Dim i as Integer, j as integer
Dim kraj As Boolean
Dim pom As Integer
For i = 2 to n
j = i - 1
kraj = False
Do
If niz(j) > niz(j + 1) Then
pom = niz(j + 1)
niz(j + 1) = niz(j)
niz(j) = pom
j = j - 1
If j < 1 Then kraj = True 'ovo je skraceni zapis If naredbe koja nema Else granu
'If j < 1 Then
' kraj = True
'End If
Else
kraj = True
End If
Loop Until kraj
Next
End Sub
'efikasnija verzija sa manje zamena
Sub insertionsort2(niz() As Integer, n As Integer)
Dim i As Integer, j As Integer
Dim novi As Integer
Dim kraj As Boolean
For i = 2 To n
novi = niz(i)
j = i - 1
kraj = False
Do
If niz(j) > novi Then
niz(j + 1) = niz(j)
j = j - 1
If j < 1 Then kraj = True 'ovo je skraceni zapis If naredbe koja nema Else granu
'If j < 1 Then
' kraj = True
'End If
Else
kraj = True
End If
Loop Until kraj
niz(j + 1) = novi
Next
End Sub