We would like to create a stack data structure.
A stack stores data using first-in, last-out ordering.
Stacks are controlled through two operations called push and pop.
To add an item on top of the stack, use push.
To take an item off the stack, use pop.
Create a class called Stack that implements a stack for up to ten integers:
Code structure
class Stack{ //Your code goes here //.../*from w ww .j ava 2 s . c o m*/ //... //Your code goes here } public class Main{ public static void main(String args[]) { Stack mystack1 = new Stack(); Stack mystack2 = new Stack(); // push some numbers onto the stack for(int i=0; i<10; i++) { mystack1.push(i); } for(int i=10; i<20; i++) { mystack2.push(i); } // pop those numbers off the stack System.out.println("Stack in mystack1:"); for(int i=0; i<10; i++) { System.out.println(mystack1.pop()); } System.out.println("Stack in mystack2:"); for(int i=0; i<10; i++) { System.out.println(mystack2.pop()); } } }
// This class defines an integer stack that can hold 10 values. class Stack { int stck[] = new int[10]; int tos; // Initialize top-of-stack Stack() { tos = -1; } // Push an item onto the stack void push(int item) { if(tos==9) System.out.println("Stack is full."); else stck[++tos] = item; } // Pop an item from the stack int pop() { if(tos < 0) { System.out.println("Stack underflow."); return 0; } else return stck[tos--]; } } public class Main{ public static void main(String args[]) { Stack mystack1 = new Stack(); Stack mystack2 = new Stack(); // push some numbers onto the stack for(int i=0; i<10; i++) mystack1.push(i); for(int i=10; i<20; i++) mystack2.push(i); // pop those numbers off the stack System.out.println("Stack in mystack1:"); for(int i=0; i<10; i++) System.out.println(mystack1.pop()); System.out.println("Stack in mystack2:"); for(int i=0; i<10; i++) System.out.println(mystack2.pop()); } }