3.24学习了栈和队列的一些东西
/**使用 LinkedList 来实现栈的操作
* 其实不明白 linklist中的pop,和removeFirst的区别*/
public static class MyStack{
LinkedList<Object> linkList = new LinkedList<Object>();
//判断栈是不是为空
//Object object = new Object();
//object.
public boolean isEmpty(){
return linkList.isEmpty();
}
//压栈操作,使用linkList中的addFirst操作
public void push(Object object){
linkList.addFirst(object);
//linkList.push(object);
}
//出栈操作,使用linkList中的操作
public Object pop(){
if(!isEmpty()){
//return linkList.remove(getTop());
//return linkList.pop();
return linkList.removeFirst();
//return linkList.removeLast();
}
else{
System.out.println("栈为空");
return null;
}
}
//得到栈顶元素
public Object getTop(){
if(!isEmpty()){
return linkList.getFirst();
}
else{
return null;
}
}
//清空操作
public void clear(){
linkList.clear();
}
}
/**使用 LinkedList 来实现队列的操作*/
public static class MyQueue{
LinkedList linkList = new LinkedList<Object>();
//判断是否为空的操作
public boolean isEmpty(){
return linkList.isEmpty();
}
//入队列的操作
public void inQueue(Object object){
linkList.addFirst(object);
}
//出队列的操作
public Object outQueue(){
if(!isEmpty()){
return linkList.removeLast();
}
else{
return null;
}
}
//获取队首的元素
public Object getFront(){
if(!isEmpty()){
return linkList.getFirst();
}
else{
System.out.println("队列为空");
return null;
}
}
}