Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- type PNode = ^Node;
- Node = record
- data: string;
- next: PNode;
- end;
- type TextF = text;
- procedure Push(var Head: PNode; x: string);
- var NewNode: PNode;
- begin
- New(NewNode);
- NewNode^.data := x;
- NewNode^.next := Head;
- Head := NewNode;
- end;
- function Pop(var Head: PNode): string;
- var q: PNode;
- begin
- if Head = nil then
- begin
- Pop := char(255);
- Exit;
- end;
- Pop := Head^.data;
- q := Head;
- Head := Head^.next;
- Dispose(q);
- end;
- function isEmptyStack (S: PNode): Boolean;
- begin
- isEmptyStack := (S = nil);
- end;
- var stack: PNode;
- buff_s: string;
- f: TextF;
- begin
- assign(f, './6.txt');
- reset(f);
- while not eof(f) do
- begin
- readln(f, buff_s);
- Push(stack, buff_s);
- write(buff_s, ' ');
- end;
- writeln;
- while not isEmptyStack(stack) do
- begin
- write(Pop(stack), ' ');
- end;
- close(f);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement