- 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");
- }
- }
- }
- }