class ListNode{
private int data;
private ListNode next;
public int getData() {
return data;
}
public void setData(int data) {
this.data = data;
}
public ListNode getNext() {
return next;
}
public void setNext(ListNode next) {
this.next = next;
}
}
class Stack{
public ListNode head;
public ListNode top;
public void initStack() {
head = new ListNode();
top=head;
}
public void enterStack(int data){
ListNode newNode = new ListNode();
newNode.setData(data);
if(top==head){
head.setNext(newNode);
top = newNode;
}else{
newNode.setNext(top);
head.setNext(newNode);
top = newNode;
}
}
public void outStack() {
System.out.println(top.getData());
top = top.getNext();
}
}
public class Queue {
public ListNode front;
public ListNode rear;
public void initL(){
front =new ListNode();
front.setNext(null);
rear=front;
}
public void enterQueue(int data) {
ListNode newLNode = new ListNode();
newLNode.setData(data);
if (front.getNext()==null) {
front.setNext(newLNode);
rear=newLNode;
}else {
rear.setNext(newLNode);
rear = newLNode;
}
}
public void leaveQueue() {
System.out.println(front.getNext().getData());
front = front.getNext();
}
public static void main(String[] args) {
Queue queue =new Queue();
queue.initL();
queue.enterQueue(9);
queue.enterQueue(8);
queue.enterQueue(7);
queue.enterQueue(6);
queue.enterQueue(5);
queue.enterQueue(4);
queue.leaveQueue();
queue.leaveQueue();
queue.leaveQueue();
queue.leaveQueue();
queue.leaveQueue();
queue.leaveQueue();
Stack stack = new Stack();
stack.initStack();
stack.enterStack(9);
stack.enterStack(8);
stack.enterStack(7);
stack.outStack();
stack.outStack();
stack.outStack();
}
}