Minggu, 21 Juni 2015

Mengurutkan data menggunakan Rekursi
Hasil Running



List Program
program Project3;

{$APPTYPE CONSOLE}

uses
  SysUtils;

type
  Tipelarik=string[20];
  Larikurut=array[1..1000] of Tipelarik;

Procedure QuickSort(var x:Larikurut;
                    bawah,atas:word);

var
  I,J:word;
  sementara:Tipelarik;

begin
  While atas>bawah Do
    begin
    I:=bawah;
    J:=atas;
    sementara:=X[bawah];
    {memecak larik menjadi 2 bagian}
    While I<J Do
      begin
      While X[J]>sementara Do
      J:=J-1;
      X[i]:=X[j];
      While(I<J)and(X[i]<=sementara)do
      I:=I+1;
      X[j]:=X[i];
      end;
      X[i]:=sementara;
      {urutkan rekursi}
      quicksort(x,bawah,i-1);
      bawah:=i+1;
      end;
      end;
    Var
      nama:Larikurut;
      N,I:word;
      begin
      Write('jumlah data akan diurutkan?');readln(n);
      writeln;
      writeln('masukkan data:');
      for i:=1 to n Do
        begin
        Write('data ke',i,'?');readln(nama[i]);
        end;
      {urutkan dengan procedure quick sort}
      QuickSort(nama,1,n);
      {tampilkan data yang diurut}
      writeln;
      writeln('Data yang telah diurut:');
      for i:=1 to n do
        writeln(nama[i]);
        readln;
        end.
     end;
end.







0 komentar:

Posting Komentar

Categories

Total Tayang

Jam

Kalender Islam

Diberdayakan oleh Blogger.

Popular Posts

Pengikut