Advertisement
Guest User

Untitled

a guest
Oct 7th, 2015
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.35 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace ConsoleApplication1
  7. {
  8. class Program
  9. {
  10. static void Main(string[] args)
  11. {
  12. stack st = new stack();
  13. while (true)
  14. {
  15. Console.Clear();
  16. Console.WriteLine("\nStack MENU(size -- 10)");
  17. Console.WriteLine("1. Add an element");
  18. Console.WriteLine("2. See the Top element.");
  19. Console.WriteLine("3. Remove top element.");
  20. Console.WriteLine("4. Display stack elements.");
  21. Console.WriteLine("5. Exit");
  22. Console.Write("Select your choice: ");
  23. int choice = Convert.ToInt32(Console.ReadLine());
  24. switch (choice)
  25. {
  26. case 1:
  27. Console.WriteLine("Enter an Element : ");
  28. st.Push(Console.ReadLine());
  29. break;
  30.  
  31. case 2: Console.WriteLine("Top element is: {0}", st.Peek());
  32. break;
  33.  
  34. case 3: Console.WriteLine("Element removed: {0}", st.Pop());
  35. break;
  36.  
  37. case 4: st.Display();
  38. break;
  39.  
  40. case 5: System.Environment.Exit(1);
  41. break;
  42. }
  43. Console.ReadKey();
  44. }
  45. }
  46. }
  47.  
  48. interface StackADT
  49. {
  50. Boolean isEmpty();
  51. void Push(Object element);
  52. Object Pop();
  53. Object Peek();
  54. void Display();
  55. }
  56. class stack : StackADT
  57. {
  58. private int StackSize;
  59. public int StackSizeSet
  60. {
  61. get { return StackSize; }
  62. set { StackSize = value; }
  63. }
  64. public int top;
  65. Object[] item;
  66. public stack()
  67. {
  68. StackSizeSet = 10;
  69. item = new Object[StackSizeSet];
  70. top = -1;
  71. }
  72. public stack(int capacity)
  73. {
  74. StackSizeSet = capacity;
  75. item = new Object[StackSizeSet];
  76. top = -1;
  77. }
  78. public bool isEmpty()
  79. {
  80. if (top == -1) return true;
  81.  
  82. return false;
  83. }
  84. public void Push(object element)
  85. {
  86. if (top == (StackSize - 1))
  87. {
  88. Console.WriteLine("Stack is full!");
  89. }
  90.  
  91. else
  92. {
  93.  
  94. item[++top] = element;
  95. Console.WriteLine("Item pushed successfully!");
  96. }
  97. }
  98. public object Pop()
  99. {
  100. if (isEmpty())
  101. {
  102. Console.WriteLine("Stack is empty!");
  103. return "No elements";
  104. }
  105. else
  106. {
  107.  
  108. return item[top--];
  109. }
  110. }
  111. public object Peek()
  112. {
  113. if (isEmpty())
  114. {
  115.  
  116. Console.WriteLine("Stack is empty!");
  117. return "No elements";
  118. }
  119. else
  120. {
  121. return item[top];
  122. }
  123. }
  124.  
  125.  
  126. public void Display()
  127. {
  128. for (int i = top; i > -1; i--)
  129. {
  130.  
  131. Console.WriteLine("Item {0}: {1}", (i + 1), item[i]);
  132. }
  133. }
  134. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement