import java.io.*; import java.lang.*; import java.util.Scanner; interface i1 { void list(); } interface i2 { void list(); } class link implements i1 { private int top = -1, n = 0; int data[] = new int[1000]; int link[] = new int[1000]; private int NULL = 0; public void list() { try { InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); while (true) { System.out.println("list\n1.push \t 2.pop\t 3.view \t 4.return to mainmenu"); n = Integer.parseInt(br.readLine()); if (n == 1) { System.out.println("enter a no to push"); top++; data[top] = Integer.parseInt(br.readLine()); link[top] = top + 1; } else if (n == 2) { System.out.println("enter the position to be delete"); Scanner in = new Scanner(System.in); int pos = in.nextInt(); int k = data[pos]; data[pos] = data[pos + 1]; top--; System.out.println("poped value is" + k); } else if (n == 3) { System.out.println("the stack is"); for (int i = 0; i <= top; i++) { System.out.print(data[i] + "->"); } System.out.println("top"); } else if (n == 4) { return; } else { System.out.println("enter a correct option"); } } } catch (Exception e) { System.out.println(e); } } } class lst implements i2 { private int top = -1, n = 0; int lst[] = new int[1000]; public void list() { try { InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); while (true) { System.out.println("stack\n1.push \t2.pop\t 3.view\t4. return to main menu"); n = Integer.parseInt(br.readLine()); if (n == 1) { System.out.println("enter the no to push"); top++; lst[top] = Integer.parseInt(br.readLine()); } else if (n == 2) { System.out.println("enter the position to be delete"); Scanner in = new Scanner(System.in); int pos = in.nextInt(); int k = lst[pos]; lst[pos] = lst[pos + 1]; top--; System.out.println("poped value is" + k); } else if (n == 3) { System.out.println("the stack is"); for (int i = 0; i <= top; i++) { System.out.println(lst[i]); } } else { System.out.println("enter a correct option"); } } } catch (Exception e) { System.out.println(e); } } } class stack1 { public static void main(String args[]) throws Exception { InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); while (true) { System.out.println("1.stack using linked list \n2.stack using list\n3.Exit"); int n = Integer.parseInt(br.readLine()); if (n == 1) { link o1 = new link(); o1.list(); } else if (n == 2) { lst o2 = new lst(); o2.list(); } else if (n == 3) { break; } else { System.out.println("enter the correct option"); } } } }