5 Feb 2015

CIRCULAR LINK LIST insert after dalam Pascal

CIRCULAR LINK LIST
Adalah double linked list yang simpul terakhirnya menuju simpul awal dan simpul awal menuju simpul setelahnya sehingga membentul sebuah simpul lingakaran.

Insert after

program P_circular;

{$APPTYPE CONSOLE}

uses
  SysUtils;

type
  point  = ^recpoint ;
  recpoint = record
              id_mhs : string ;
              nama : string ;
              alamat : string ;
              semester : integer ;
              next,prev : point ;
             end;
var
  head,now,tail : point ;
  jawab : char ;

procedure insertAfter ;
begin
  new(now) ;
  if head = nil then
    head := now
  else
    begin
      now^.prev := tail ;
      tail^.next := now ;
    end;
 tail := now ;
 tail^.next := head ;
 head^.prev := tail ;
end;


begin
  writeln ('INPUT DATA');
  writeln ('____________________');
  writeln ;
  repeat
    insertAfter ;
    write('masukan id :') ;readln(now^.id_mhs);
    write('masukan nama :') ;readln(now^.nama);
    write('masukan alamat :') ;readln(now^.alamat);
    write('masukan semester :') ;readln(now^.semester);
    writeln;
    write('Apakah ingin input data lagi (Y/T)? :');readln(jawab);
    writeln ;
  until upcase(jawab) = 'T' ;

  writeln('OUTPUT DATA');
  writeln('-------------------');
  now := head ;    // output
  repeat
   writeln('ID       :', now^.id_mhs);
    writeln('nama     :', now^.nama);
    writeln('alamat   :', now^.alamat);
    writeln('semester :', now^.semester);
    writeln ;
    now := now^.next ;
  until (now^.next = head^.next) ;
readln ;
end.

No comments:

Post a Comment