| You can do it with a recursive function.  It looks at the entire list, finds the smallest number, swaps it with the last position's number, then repeats with a list shortened by one, until it gets down to the last one, which shuld be the biggest number, at the top of the list. 
 
; recursive sort
Dim sortlist(6)
For i = 1 To 6
	sortlist(i) = Rand(100)
	Print "Sortlist("+i+") = " + sortlist(i)
Next
sort(6)
Print "---"
For i = 1 To 6
	Print "Sortlist("+i+") = " + sortlist(i)
Next
Print "---"
For i = 1 To 6
	Print "Difference("+i+") = " + (sortlist(1) - sortlist(i))
Next
WaitKey
Function sort(depth)
	If depth = 1 Then Return
	low% = 1
	For i = 2 To depth
		If sortlist(i) < sortlist(low) Then low = i
	Next
	temp% = sortlist(depth)
	sortlist(depth) = sortlist(low)
	sortlist(low) = temp
	sort(depth - 1)
End Function
 
 |