Irgendwie sehe ich nicht den Wald vor lauter Bäumen nicht mehr...
Dann beschreib uns doch mal Deine Bäume so, dass wir einen klareren Blick darauf erhalten können.
"Welche Pumpe jetzt dran ist" hat ja zwei Bedeutungen:
- welche Pumpe ist dran mit eingeschaltet werden
und, wenn mehrere Pumpen laufen,
- welche Pumpe ist dran mit abgeschaltet werden.
Welche Kriterien hast Du (in Deiner "PumpenTabelle" also in Deinem array of struct) dafür, welche Pumpe ...
- nicht zur Verfügung steht
- bevorzugt eingeschaltet werden soll
- bevorzugt abgeschaltet werden soll
- ggfs mit welcher anderen Pumpe "verheiratet" ist
?
Allgemeiner Tipp:
Tabelle entsprechend den Prioritäten und AusschlussKriterien sortieren. Weil nach unterschiedlichen Kriterien unterschiedlich sortiert werden soll, belässt man die Tabelle unsortiert und fügt Spalten hinzu, die Indizes auf die Zeilen der "festen" TabellenSpalten enthalten. Nur diese IndexSpalten werden dann sortiert.