Erstmal solltest du das ganze per Bubble sort sortieren, so dass zum Schluss die größte Variable am Anfang und die kleinste am Ende des Arrays steht.
Da ich nicht weiß wie du die Variablen anderweitig verwendest, lasse ich ihnen mal ihre Werte. Allerdings müssen die Werte in einen temporären Array rüberkopiert werden.
Also z.B.:
Variable 11: 3
Variable 12: 7
Variable 13: 85
Variable 14: 11
Variable 15: 1
Variable 16: 99
Variable 17: 2
Zusätzlich wird ein weiterer Array erstellt, der die IDs der Orginalvariablen in paralleler Reihenfolge zum Originalarray beinhaltet.
Variable 21: 1
Variable 22: 2
Variable 23: 3
Variable 24: 4
Variable 25: 5
Variable 26: 6
Variable 27: 7
Nun kommt der Bubblesort zum tragen. Zuerst wird das erste Element des temporären Arrays (11-17) mit dem zweiten Element mithilfe von Zeigervariablen verglichen. Ist es kleiner, so werden beide Elemente miteinander vertauscht, da das größte Element an den Anfang des Arrays wandern soll. Parallel dazu werden im ID Array (21-27) das erste und zweite Element vertauscht.
Nun wird im 11-17 Array das zweite und dritte Element miteinander verglichen, gegebenenfalls vertauscht und das selbe im 21-27 Array vorgenommen.
Und das wird solange gemacht, bis Element 6 und 7 miteinander verglichen wurden.
Bei jeder Vertauschung muss ein Switch angeschaltet werden. Am Ende dieser Vergleichsaktion wird abgefragt, ob der Switch an oder aus ist. Ist er an so bedeutet dies, dass irgendwo ein Vertausch vorgenommen wurde und es gut möglich ist, dass einige Elemente noch in der falschen Reihenfolge sind. Das ganze muss also wiederholt werden, es muss also der gesamte Code in einen Cycle.
Am Anfang dieses Cycles muss der Switch logischerweise wieder ausgeschaltet werden.
Ist der Switch jedoch aus bedeutet dies, dass kein Vertausch von statten ging. Dies bedeutet gleichzeitig, dass sich alle Elemente in der richtigen Reihenfolge befinden. Der Cycle kann also durchbrochen werden.
Der 21-27 Array hat nun folgende Werte:
Variable 21: 6
Variable 22: 3
Variable 23: 4
Variable 24: 2
Variable 25: 1
Variable 26: 7
Variable 27: 5
Zuerst wird also die Variable mit der ID 6 abgerufen, dann die mit der ID 3 usw...
Hier hab ich mal ein Skript dazu.
(Rechtsklick -> Ziel speichern unter oder Link in Adressleiste kopieren)
...