PROGRAM QUICKSORT (IN,OUT); CONST N=50; TYPE LISTE=ARRAY [1..N] OF INTEGER; VAR FELD:LISTE; LAENGE:INTEGER; PROCEDUR EINGABE (VAR FELD:LISTE); BEGIN LAENGE:=1; REPEAT LAENGE:=LAENGE+1; READ(FELD[LAENGE]); UNTIL EOLN OR (LAENGE=N); END; PROCEDUR AUSGABE (VAR FELD:LISTE;ANFANG,ENDE:INTEGER); VAR I:INTEGER; BEGIN I:=ANFANG; REPEAT WRITE(FELD[I]); I:=I+1; UNTIL I=ENDE; END; PROCEDUR TAUSCHE (VAR I,J:INTEGER); VAR HILF:INTEGER; BEGIN HILF:=I;I:=J;J:=HILF; END; PROCEDUR QUICK (RECHTS,LINKS:INTEGER); VAR I,P,J,PIVOT:INTEGER; BEGIN I:=LINKS;J:=RECHTS;P:=(LINKS+RECHTS) DIV 2; PIVOT:=FELD[P]; REPEAT WHILE FELD[I]PIVOT DO J:=J-1; IF I=J; IF J>LINKS THEN QUICK (LINKS,J); IF I