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