/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package gcode.chapter3;
/**
*
* @author manukaul
*/
public class MyStack {
public Node top, minptr;
public int min;
public LinkList l;
/* Constructor */
public MyStack(){
l = new LinkList();
top = l.head;
minptr = top;
min = 999999; /* large value */
}
/* push */
public void push(int d){
l.insertAtHead(d);
if(d < min){
min = d; /* Replace min */
minptr = top; /* Make it point to the top of stack */
}
}
/* pop */
public int pop(){
return l.removeAtHead();
}
/* peek at top */
public int top(){
return top.data;
}
public boolean isEmpty(){
return l.isEmpty();
}
public void displayStack(){
System.out.println("Displaying stack...");
l.displayList();
}
public int getMinimum(){
return minptr.data;
}
/* Main function */
public static void main(String[] args) {
MyStack s = new MyStack();
s.push(10);
s.push(20);
s.push(30);
s.displayStack();
s.pop();
s.displayStack();
return;
}
}
/* OUTPUT */
Displaying stack...
displaying list
---
Displaying stack...
displaying list
---
30 20 10 20 10 BUILD SUCCESSFUL (total time: 1 second)