t1nman

UStack.pas

May 28th, 2012
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 0.85 KB | None | 0 0
  1. Unit UStack;
  2.  
  3. interface
  4.  
  5. const
  6.     size = 200;
  7. type
  8.     TInfo = char;
  9.     Stack = object
  10.     private
  11.         TopPtr: integer;
  12.         S: array [1..size] of TInfo;
  13.     public
  14.         procedure Init;
  15.         procedure Push(X: TInfo);
  16.         function Pop: TInfo;
  17.         function Top: TInfo;
  18.         function IsFull: boolean;
  19.         function isEmpty: boolean;
  20.     end;
  21.  
  22. implementation
  23.  
  24. procedure Stack.Init;
  25. begin
  26.     TopPtr:= 0;
  27. end;
  28.  
  29. procedure Stack.Push(X: TInfo);
  30. begin
  31.     TopPtr:= TopPtr + 1;
  32.     S[TopPtr]:= X;
  33. end;
  34.  
  35. function Stack.Pop: TInfo;
  36. begin
  37.     Pop:= S[TopPtr];
  38.     TopPtr:= TopPtr - 1;
  39. end;
  40.  
  41. function Stack.Top: TInfo;
  42. begin
  43.     Top:= S[TopPtr];
  44. end;
  45.  
  46. function Stack.isFull: boolean;
  47. begin
  48.     isFull:= TopPtr = size;
  49. end;
  50.  
  51. function Stack.isEmpty: boolean;
  52. begin
  53.     isEmpty:= TopPtr = 0;
  54. end;
  55.  
  56. end.
Advertisement
Add Comment
Please, Sign In to add comment