Wir kennen deine Funktion
subListsContain nicht, aber ich kann dir auch so sagen, dass du zu kompliziert denkst und vor allem quadratische Laufzeit fabriziert, hast, wo auch O(n) möglich wäre.
Delphi-Quellcode:
// arr : TList<TJob>
ol := TList<TPrioList>.Create;
for Job in arr do
prioList := bestehende TPrioList aus ol mit Prio = arr.Prio oder TPrioList.Create;
prioList.Add(Job);
Das ist der ganze Zauber
.
(Gut, mit TList ist es immer noch quadratisch...)