堆栈
特点:先进后出
用数组实现堆栈的压栈和弹栈
//用数组实现堆栈的压栈和弹栈
public class Stack<E> {
private Object[] Stack = new Object[5];
private int size = 0;
/**
* 压栈
*
* @param item
*/
public void push(E item) {
if (size == Stack.length) {
System.out.println("栈已存满");
return;
}
Stack[size++] = item;
}
/**
* 弹栈:1.先做判断
*
* @return
*/
public E pop() {
if (isEmpty()) {
System.out.println("栈为空");
return null;
}
return (E) Stack[--size];
}
/**
* 判断栈是否为空
*
* @return
*/
public boolean isEmpty() {
if (size == 0) {
return true;
} else {
return false;
}
}
public int size() {
return size;
}
}
队列
特点:先进先出
public class MyQueue<E> {
private LinkedList<E> lists = new LinkedList<E>();
/**
* 入队
*/
public void enQueue(E item) {
lists.addLast(item);
}
/**
* 出队
*/
public E deQueue() {
return lists.removeFirst();
}
/**
* 队列元素
*/
public int size() {
return lists.size();
}