您的位置:首页 > 编程语言 > Java开发

java 先进先出

2013-07-18 14:45 99 查看
import java.util.Vector;

public class QueTest {
public static void main(String[] args) {
Que que = new QueImp();
que.push("上山打老虎");
que.push("打到。。");
System.out.println(que.pop());
System.out.println(que.pop());

QueNode qn = new QueNode();
qn.push("sss");
qn.push("hhhh");
System.out.println(qn.pop());
System.out.println(qn.pop());
Que que1 = new QueImp1();
que1.push("上山打老虎111");
que1.push("打到1111。。");
System.out.println(que1.pop());
System.out.println(que1.pop());
}
}
interface Que{
public void push(Object e);
public Object pop();
}
class QueNode implements Que{
class Node {
Object o;
Node next;
Node(Object o){
this.o = o;
this.next = null;
}
}

Node temp = null;
Node head = null;
@Override
public Object pop() {
Object ob = head.o;
Node t = head.next;
head = t;
return ob;
}

@Override
public void push(Object arg0) {
temp = new Node(arg0);
if(head == null){
head = temp;
}else{
head.next = temp ;
}

}

}
class QueImp extends Vector implements Que {
/**
* 先进先出
*/
@Override
public void push(Object e) {
super.add(e);
}

@Override
public Object pop() {
Object o =super.elementAt(0);
super.removeElementAt(0);
return o;
}

public void remove(){
super.removeAllElements();
}

}

class QueImp1 implements Que {
java.util.LinkedList li = new java.util.LinkedList();

/**
* 先进先出
*/
@Override
public void push(Object e) {
li.addLast(e);
}

@Override
public Object pop() {
return li.removeFirst();
}


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  先进先出