Introducing Radical.sh

Forget Code launches a powerful code generator for building API's

Stack ADT for Array and Linked list in Java

  1.  
  2. import java.io.*;
  3. import java.lang.*;
  4. import java.util.Scanner;
  5.  
  6. interface i1 {
  7.  
  8. void list();
  9. }
  10.  
  11. interface i2 {
  12.  
  13. void list();
  14. }
  15.  
  16. class link implements i1 {
  17.  
  18. private int top = -1, n = 0;
  19. int data[] = new int[1000];
  20. int link[] = new int[1000];
  21. private int NULL = 0;
  22.  
  23. public void list() {
  24. try {
  25. InputStreamReader isr = new InputStreamReader(System.in);
  26. BufferedReader br = new BufferedReader(isr);
  27. while (true) {
  28. System.out.println("list\n1.push \t 2.pop\t 3.view \t 4.return to mainmenu");
  29. n = Integer.parseInt(br.readLine());
  30. if (n == 1) {
  31. System.out.println("enter a no to push");
  32. top++;
  33. data[top] = Integer.parseInt(br.readLine());
  34. link[top] = top + 1;
  35. } else if (n == 2) {
  36. System.out.println("enter the position to be delete");
  37. Scanner in = new Scanner(System.in);
  38. int pos = in.nextInt();
  39. int k = data[pos];
  40. data[pos] = data[pos + 1];
  41. top--;
  42. System.out.println("poped value is" + k);
  43. } else if (n == 3) {
  44. System.out.println("the stack is");
  45.  
  46. for (int i = 0; i <= top; i++) {
  47. System.out.print(data[i] + "->");
  48. }
  49. System.out.println("top");
  50. } else if (n == 4) {
  51. return;
  52. } else {
  53. System.out.println("enter a correct option");
  54. }
  55. }
  56. } catch (Exception e) {
  57. System.out.println(e);
  58. }
  59. }
  60. }
  61.  
  62. class lst implements i2 {
  63.  
  64. private int top = -1, n = 0;
  65. int lst[] = new int[1000];
  66.  
  67. public void list() {
  68. try {
  69. InputStreamReader isr = new InputStreamReader(System.in);
  70. BufferedReader br = new BufferedReader(isr);
  71. while (true) {
  72. System.out.println("stack\n1.push \t2.pop\t 3.view\t4. return to main menu");
  73. n = Integer.parseInt(br.readLine());
  74. if (n == 1) {
  75. System.out.println("enter the no to push");
  76. top++;
  77. lst[top] = Integer.parseInt(br.readLine());
  78. } else if (n == 2) {
  79. System.out.println("enter the position to be delete");
  80. Scanner in = new Scanner(System.in);
  81. int pos = in.nextInt();
  82. int k = lst[pos];
  83. lst[pos] = lst[pos + 1];
  84.  
  85. top--;
  86. System.out.println("poped value is" + k);
  87. } else if (n == 3) {
  88. System.out.println("the stack is");
  89. for (int i = 0; i <= top; i++) {
  90. System.out.println(lst[i]);
  91. }
  92. } else {
  93. System.out.println("enter a correct option");
  94. }
  95. }
  96. } catch (Exception e) {
  97. System.out.println(e);
  98. }
  99. }
  100. }
  101.  
  102. class stack1 {
  103.  
  104. public static void main(String args[]) throws Exception {
  105. InputStreamReader isr = new InputStreamReader(System.in);
  106. BufferedReader br = new BufferedReader(isr);
  107. while (true) {
  108. System.out.println("1.stack using linked list \n2.stack using list\n3.Exit");
  109. int n = Integer.parseInt(br.readLine());
  110. if (n == 1) {
  111. link o1 = new link();
  112. o1.list();
  113. } else if (n == 2) {
  114. lst o2 = new lst();
  115. o2.list();
  116. } else if (n == 3) {
  117. break;
  118. } else {
  119. System.out.println("enter the correct option");
  120. }
  121. }
  122. }
  123. }