//Aufgabe 6a) int q, left, right; int stack[] = new int[100000]; int stackLast = 0; int stackNext = 0; stack[stackLast++] = 0; stack[stackLast++] = A.length-1; while(stackNext < stackLast){ left = stack[stackNext]; right = stack[stackNext+1]; //Abbruchbedingung eines Jobs if(left >= right){ stackNext += 2; iterations++; continue; } //Partitionierung q = partition(A, left, right); //"Jobs" im Stack speichern stack[stackLast++] = left; stack[stackLast++] = q - 1; stack[stackLast++] = q + 1; stack[stackLast++] = right; //"Stack-Zeiger" hochzählen stackNext += 2; iterations++; }