AnindyaBiswas

stac

Jun 1st, 2022 (edited)
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.08 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. public class stac{
  4.     public static void main(String Args[])
  5.     {
  6.         Scanner sc = new Scanner(System.in);
  7.         System.out.print("Enter stack size : ");
  8.  
  9.         stack_maker st = new stack_maker(sc.nextInt());
  10.         while(true)
  11.         {
  12.             System.out.println("\n1. Push\n2. Pop\n3. Peek\n4. Display\n5. New Stack\n6. Exit");
  13.             System.out.print("\nEnter your choice : ");
  14.             switch(sc.nextInt())
  15.             {
  16.                 case 1:
  17.                 System.out.print("\n\tEnter no. to Push : ");
  18.                 st.Push(sc.nextInt());
  19.                 break;
  20.  
  21.                 case 2:
  22.                 st.Pop();
  23.                 break;
  24.  
  25.                 case 3:
  26.                 st.Peek();
  27.                 break;
  28.  
  29.                 case 4:
  30.                 st.Display();
  31.                 break;
  32.  
  33.                 case 5:
  34.                 System.out.print("\n\tThe prervios stack will be lost. Continue(y/n)?");
  35.                 if(sc.next().toLowerCase().charAt(0) == 'y')
  36.                 {  
  37.                     System.out.print("\n\tEnter new stack size : ");
  38.                     st = new stack_maker(sc.nextInt());
  39.                 }
  40.                 break;
  41.                    
  42.  
  43.                 case 6:
  44.                 st.finalize();
  45.                 return;
  46.             }
  47.  
  48.             System.out.println();
  49.         }
  50.     }
  51. }
  52.  
  53. class stack_maker {
  54.     private int[] stack;
  55.     private int top, size;
  56.        
  57.         stack_maker(int size)
  58.         {
  59.             top = -1;
  60.             this.size = size;
  61.             stack = new int[size];
  62.             System.out.println("New stack of size "+ size +" created\n");
  63.         }
  64.        
  65.         private boolean isFull()
  66.         {
  67.             if(top == size-1)
  68.                 return true;
  69.             return false;
  70.         }
  71.        
  72.         private boolean isEmpty()
  73.         {
  74.             if(top == -1)
  75.                 return true;
  76.             return false;
  77.         }
  78.        
  79.         public void Push(int n)
  80.         {
  81.             if(isFull())
  82.             {
  83.                 System.out.println("\nStack Overflow!");
  84.                 return;
  85.             }
  86.             System.out.println("\n" + n + " added in stack");  
  87.             stack[++top] = n;
  88.         }
  89.  
  90.         public void Pop()
  91.         {
  92.             if(isEmpty())
  93.             {
  94.                 System.out.println("\nEmpty stack, can't pop!");
  95.                 return;
  96.             }
  97.             System.out.println("\n"+stack[top--]+ " was popped");
  98.         }
  99.  
  100.         public void Peek()
  101.         {
  102.             if(isEmpty())
  103.             {
  104.                 System.out.println("\nEmpty stack, can't peek!");
  105.                 return;
  106.             }
  107.             System.out.println("\nElement at the top is : " + stack[top]);
  108.  
  109.         }
  110.        
  111.         public void Display()
  112.         {
  113.             if(isEmpty())
  114.             {
  115.                 System.out.println("\nEmpty Stack, nothing to display!");
  116.                 return;
  117.             }
  118.             System.out.println("\n\n");
  119.             for(int i = top; i >= 0; i--)
  120.                 System.out.println("|\t"+stack[i]+"\t|\n-----------------");
  121.         }
  122.        
  123.         protected void finalize()
  124.         {
  125.             System.out.println("BYE!");
  126.             System.gc();
  127.         }
  128.        
  129.  
  130. }
Add Comment
Please, Sign In to add comment