Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program StackList;
- uses
- crt;
- type
- TpStackElement = ^TStackElement;
- TStackElement = record
- info : integer;
- previous : TpStackElement;
- end;
- var
- pStackPointer : TpStackElement;
- pTemp : ^TStackElement;
- answer : char;
- element : integer;
- procedure push(pushMethodElement : integer);
- begin
- new(pTemp);
- pTemp^.info := pushMethodElement;
- pTemp^.previous := pStackPointer;
- pStackPointer := pTemp;
- end;
- procedure pop();
- var
- pTemp : TpStackElement;
- begin
- if (pTemp <> nil) then
- begin
- pTemp := pStackPointer;
- pStackPointer := pStackPointer^.previous;
- dispose(pTemp);
- end;
- end;
- procedure output();
- var
- pTemp : TpStackElement;
- begin
- pTemp := pStackPointer;
- while (pTemp <> nil) do
- begin
- write(pTemp^.info, ' ');
- pTemp := pTemp^.previous;
- end;
- end;
- begin
- pStackPointer := nil;
- repeat
- writeln('1. Add element');
- writeln('2. Remove element');
- writeln('3. Output');
- textColor(4);
- writeln('4. Dispose');
- textColor(7);
- readln(answer);
- case answer of
- '1':
- begin
- write('Enter the new element to add: ');
- readln(element);
- push(element);
- end;
- '2':
- begin
- pop();
- writeln;
- end;
- '3':
- begin
- output();
- writeln;
- end;
- '4': dispose(pStackPointer);
- end;
- //writeln(pTemp^.info);
- until (answer = 'n');
- end.
Advertisement
Add Comment
Please, Sign In to add comment