使用LinkedList模拟栈和队列
栈和队列属于数据结构,栈是先进后出,队列是先进先出,我们知道java中的LinkedList有addFisrt()方法和removeFirst()方法还有removeLast()方法,那我们用这三个方法就可以模拟栈和队列
LinkedList实现队列
class MyQueue{
private LinkedList list;
MyQueue(){
list=new LinkedList();
}
//入队
public void put(Object o) {
list.addFirst(o);
}
//出队
public Object get() {
if(!list.isEmpty()) {
return list.removeLast();
}
else {
throw new NoSuchElementException("队列为空!");
}
}
}
LinkedList实现栈
class MyStack{
private LinkedList list;
MyStack(){
list=new LinkedList();
}
//进栈
public void push(Object o) {
list.addFirst(o);
}
//出栈
public Object get() {
if(!list.isEmpty()) {
return list.removeFirst();
}
else {
throw new NoSuchElementException("栈为空!!");
}
}
}