Skip to content

Instantly share code, notes, and snippets.

@darkodemic
Created September 8, 2015 13:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save darkodemic/2e0c3b347b6bd1228390 to your computer and use it in GitHub Desktop.
Save darkodemic/2e0c3b347b6bd1228390 to your computer and use it in GitHub Desktop.
Linked lists pascal
program p1;
type
int = integer;
pelem = ^element;
element = record
data: int;
next: pelem;
end;
var
lp : pelem;
n : int;
procedure popuni_listu(var lp: pelem; bre: int);
var i, t: int;
temp: pelem;
begin
writeln('Unesite elemente ->');
for i:= 1 to bre do
begin
write('Unesite ', i,'. element: ');
readln(t);
if lp = NIL then //u slucaju da prvi element ne postoji
begin
new(lp);
lp^.data:= t;
lp^.next:= NIL;
end
else
begin
temp:=lp;
while(temp^.next <> NIL) do temp:= temp^.next;
new(temp^.next);
temp := temp^.next;
temp^.data:= t;
temp^.next:= NIL;
end;
end;
end;
procedure ispis(lp: pelem);
begin
while(lp <> NIL) do
begin
writeln('[',lp^.data,']');
lp:=lp^.next;
end;
end;
procedure memclean(var lp: pelem);
var temp: pelem;
begin
temp:=lp;
while(lp <> NIL) do
begin
dispose(temp);
lp:=lp^.next;
temp:=lp;
end;
end;
begin
lp := NIL;
write('Unesite broj elemenata liste: ');
readln(n);
popuni_listu(lp, n);
ispis(lp);
memclean(lp);
end.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment