Stack Implementation
- Stack class
- Arrays
- LinkedList
Stack Methods
reference:javatpoint
import java.util.Stack;import java.util.Iterator;import java.util.ListIterator;public class Main{public static void main(String[] args) {System.out.println("is stack empty:");Stack stk= new Stack();stk.push(78);stk.push(113);stk.push(112);stk.push("books:");stk.push("book1");stk.push("book2");stk.push("book3");int location = stk.search("book1");System.out.println("Location of Book1: " + location);//System.out.println(result);// stk.peek();System.out.println(stk.size());//iterating the stackIterator iterator = stk.iterator();while(iterator.hasNext()){Object values = iterator.next();System.out.println(values);}ListIterator ListIterator = stk.listIterator(stk.size());System.out.println("Iteration over the Stack from top to bottom:");while (ListIterator.hasPrevious()){Object listi = ListIterator.previous();System.out.println(listi);}}}import java.util.Stack; import java.util.Iterator; import java.util.ListIterator; public class Main { public static void main(String[] args) { System.out.println("is stack empty:"); Stack stk= new Stack(); stk.push(78); stk.push(113); stk.push(112); stk.push("books:"); stk.push("book1"); stk.push("book2"); stk.push("book3"); int location = stk.search("book1"); System.out.println("Location of Book1: " + location); //System.out.println(result); // stk.peek(); System.out.println(stk.size()); //iterating the stack Iterator iterator = stk.iterator(); while(iterator.hasNext()) { Object values = iterator.next(); System.out.println(values); } ListIterator ListIterator = stk.listIterator(stk.size()); System.out.println("Iteration over the Stack from top to bottom:"); while (ListIterator.hasPrevious()) { Object listi = ListIterator.previous(); System.out.println(listi); } } }import java.util.Stack; import java.util.Iterator; import java.util.ListIterator; public class Main { public static void main(String[] args) { System.out.println("is stack empty:"); Stack stk= new Stack(); stk.push(78); stk.push(113); stk.push(112); stk.push("books:"); stk.push("book1"); stk.push("book2"); stk.push("book3"); int location = stk.search("book1"); System.out.println("Location of Book1: " + location); //System.out.println(result); // stk.peek(); System.out.println(stk.size()); //iterating the stack Iterator iterator = stk.iterator(); while(iterator.hasNext()) { Object values = iterator.next(); System.out.println(values); } ListIterator ListIterator = stk.listIterator(stk.size()); System.out.println("Iteration over the Stack from top to bottom:"); while (ListIterator.hasPrevious()) { Object listi = ListIterator.previous(); System.out.println(listi); } } }
Enter fullscreen mode Exit fullscreen mode
Stack Implementation using Arrays
// implementing using Arraysclass Stack{//Max- maximum Size af arraystatic final int MAX = 1000;// or we can take double the length of Stack itselfint top;int a[] = new int[MAX];// isempdty conditionboolean isEmpty(){return (top < 0);}Stack(){top = -1;}//push conditionboolean push(int x){//top should be less than Max, maximum length of Arrayif (top >= (MAX - 1)) {System.out.println("Stack Overflow");return false;}else {a[++top] = x;System.out.println(x + " pushed into stack");return true;}}// pop conditionint pop(){if (top < 0) {System.out.println("Stack Underflow");return 0;}else {int x = a[top--];return x;}}//peek conditionint peek(){if (top < 0) {System.out.println("Stack Underflow");return 0;}else {int x = a[top];return x;}}// printing the stackvoid print(){for(int i = top;i>-1;i--){System.out.print(" "+ a[i]);}}}//Main programpublic class Main{// choose the length of stack/arrayspublic static void main(String[] args) {Stack stk = new Stack();stk.push(10);stk.push(1);stk.push(2);System.out.println(stk.pop() + " Popped from stack");System.out.print("Elements present in stack :");stk.print();}}// implementing using Arrays class Stack { //Max- maximum Size af array static final int MAX = 1000; // or we can take double the length of Stack itself int top; int a[] = new int[MAX]; // isempdty condition boolean isEmpty() { return (top < 0); } Stack() { top = -1; } //push condition boolean push(int x) { //top should be less than Max, maximum length of Array if (top >= (MAX - 1)) { System.out.println("Stack Overflow"); return false; } else { a[++top] = x; System.out.println(x + " pushed into stack"); return true; } } // pop condition int pop() { if (top < 0) { System.out.println("Stack Underflow"); return 0; } else { int x = a[top--]; return x; } } //peek condition int peek() { if (top < 0) { System.out.println("Stack Underflow"); return 0; } else { int x = a[top]; return x; } } // printing the stack void print(){ for(int i = top;i>-1;i--){ System.out.print(" "+ a[i]); } } } //Main program public class Main{ // choose the length of stack/arrays public static void main(String[] args) { Stack stk = new Stack(); stk.push(10); stk.push(1); stk.push(2); System.out.println(stk.pop() + " Popped from stack"); System.out.print("Elements present in stack :"); stk.print(); } }// implementing using Arrays class Stack { //Max- maximum Size af array static final int MAX = 1000; // or we can take double the length of Stack itself int top; int a[] = new int[MAX]; // isempdty condition boolean isEmpty() { return (top < 0); } Stack() { top = -1; } //push condition boolean push(int x) { //top should be less than Max, maximum length of Array if (top >= (MAX - 1)) { System.out.println("Stack Overflow"); return false; } else { a[++top] = x; System.out.println(x + " pushed into stack"); return true; } } // pop condition int pop() { if (top < 0) { System.out.println("Stack Underflow"); return 0; } else { int x = a[top--]; return x; } } //peek condition int peek() { if (top < 0) { System.out.println("Stack Underflow"); return 0; } else { int x = a[top]; return x; } } // printing the stack void print(){ for(int i = top;i>-1;i--){ System.out.print(" "+ a[i]); } } } //Main program public class Main{ // choose the length of stack/arrays public static void main(String[] args) { Stack stk = new Stack(); stk.push(10); stk.push(1); stk.push(2); System.out.println(stk.pop() + " Popped from stack"); System.out.print("Elements present in stack :"); stk.print(); } }
Enter fullscreen mode Exit fullscreen mode
Stack Challenge
- using a stack check whether it is palindrome
- string may contain punctuation and spaces . they should be ignored
- case should be ignored
- Eg:
- “RaceCar” is a palindrome
- “hello” is not a palindrome
原文链接:Stacks in Java
© 版权声明
THE END
暂无评论内容