Anda di halaman 1dari 1

***********************************************************************

var
A : array[1..1000] of integer; // Array yang ingin di-sort
N : integer; // Banyaknya data yang ingin di-sort

procedure qsort(l,r:integer); // Quick sort - ascending (menaik)


var
i,j,x,buff : integer;
begin
i := l;
j := r;
x := A[(i+j) div 2];
while (i < j) do
begin
while (A[i] < x) do inc(i); // Bagian ini dapat diubah untuk menjadikannya
descending
while (x < A[j]) do dec(j); // Bagian ini dapat diubah untuk menjadikannya
descending
if (i <= j) then
begin
buff := A[i];
A[i] := A[j];
A[j] := buff;
inc(i);
dec(j);
end;
end;
if (i < r) then qsort(i,r);
if (l < j) then qsort(l,j);
end;

begin
// Isi array A terlebih dahulu
qsort(1,N); // Sort array A dari index 1 sampai N
end.
***********************************************************************

Anda mungkin juga menyukai