Es más sencillo si aplicas el ordenamiento por Inserción
http://es.wikipedia.org/wiki/Ordenamiento_por_inserci%C3%B3n
Tambien tienes el ordenamiento por Selección
http://es.wikipedia.org/wiki/Ordenamiento_por_inserci%C3%B3n
Código (vb) [Seleccionar]
Private Sub insertionSort(ByVal numbers() As Integer) ' Es una función,
'debemos pasarle el array de números desde el Sub Main()
Dim i, j, index As Integer
i = 1
Do
index = numbers(i)
j = i - 1
While ((j >= 0) And (numbers(j) > index))
numbers(j + 1) = numbers(j)
j = j - 1
End While
numbers(j + 1) = index
i = i + 1
Loop Until i > (UBound(v))
End Sub
Tambien tienes el ordenamiento por Selección
Código (vb) [Seleccionar]
For i = 1 To n - 1
minimo = i
For j = i + 1 To n
If x(minimo) > x(j) Then
minimo = j
End If
Next j
temp = x(i)
x(i) = x(minimo)
x(minimo) = temp
Next i