Directory of image this file is from
This file as a plain text file
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 I:=I+1; WHILE FELD[J]>PIVOT DO J:=J-1; IF I<J THEN TAUSCHE (FELD[I],FELD[J]); UNTIL I>=J; IF J>LINKS THEN QUICK (LINKS,J); IF I<RECHTS THEN QUICK (I,RECHTS); END; (*=========Hauptprogramm========*) BEGIN WRITELN("GEBEN SIE DAS UNSORTIERTE FELD EIN!");EINGABE (FELD); QUICK (1,LAENGE); AUSGABE (FELD,1,LAENGE); END.