You are on page 1of 2

program LinkedList;

type
DataUser = record
nama: string;
username: string;
email: string;
password: string;
prev: ^DataUser;
next: ^DataUser;
end;

var
head, tail, cur, newNode, del, afterNode: ^DataUser;

procedure createDoubleLinkedList(data: array of string);


begin
new(head);
head^.nama := data[0];
head^.username := data[1];
head^.email := data[2];
head^.password := data[3];
head^.prev := nil;
head^.next := nil;
tail := head;
end;

function countDoubleLinkedList: integer;


var
jumlah: integer;
begin
if head = nil then
writeln('Double Linked List belum dibuat!!!')
else
begin
cur := head;
jumlah := 0;
while cur <> nil do
begin
jumlah := jumlah + 1;
cur := cur^.next;
end;
countDoubleLinkedList := jumlah;
end;
end;

procedure addFirst(data: array of string);


begin
if head = nil then
writeln('Double Linked List belum dibuat!!!')
else
begin
new(newNode);
newNode^.nama := data[0];
newNode^.username := data[1];
newNode^.email := data[2];
newNode^.password := data[3];
newNode^.prev := nil;
newNode^.next := head;
head^.prev := newNode;
head := newNode;
end;
end;

procedure addLast(data: array of string);


begin
if head = nil then
writeln('Double Linked List belum dibuat!!!')
else
begin
new(newNode);
newNode^.nama := data[0];
newNode^.username := data[1];
newNode^.email := data[2];
newNode^.password := data[3];
newNode^.prev := tail;
newNode^.next := nil;
tail^.next := newNode;
tail := newNode;
end;
end;

begin
end.

You might also like