栈:先进后出
队列:先进先出
Java中实现栈和队列操作都可以通过使用LinkedList类
LinkedList相关用法
//获取链表元素
List.getFirst();
List.getLast();
//泛型有多少个元素 .length()方法是针对字符串String
.size();
while(!A.isEmpty()){
//遍历
}
//获取子链表
.subList(int index,int index);
//添加链表元素
list.add("D");
list.addFirst("X");
list.addLast("Z");
//删除元素
list.removeFirst();
list.removeLast();
list.remove(int index);
提解
class CQueue {
//全局变量
LinkedList<Integer> A ,B;
public CQueue() {
A = new LinkedList<Integer>();
B = new LinkedList<Integer>();
}
public void appendTail(int value) {//队尾插入整数
A.addLast(value);
}
public int deleteHead() {//队头删除整数 若队列中没有元素,deleteHead 操作返回 -1
if(B.isEmpty()){
if(A.isEmpty()){
return -1;
}else {//A非空B空
while(!A.isEmpty()){
B.addLast(A.removeLast());
}
int del = B.removeLast();
return del;
}
}else{//B非空直接删除
int del = B.removeLast();
return del;
}
}
}