核心代码
public class Queue {
//队列表头/表尾
private Node first = null;
private Node lase = null;
public int getN() {
return N;
}
//计数器
private int N = 0;
//节点
private class Node{
Object obj;
Node next;
}
//判断队列是否为空
public Boolean isEmpty(){
return first == null;
}
//添加队列数据
public void EnQueue(Object obj){
Node oldNode = lase;
lase = new Node();
lase.obj = obj;
lase.next = null;
if(isEmpty()) {
oldNode = lase;
first = lase;
}
oldNode.next = lase;
N++;
}
//删除队列数据
public Object UnQueue(){
Object obj = first.obj;
first = first.next;
if (isEmpty()){
System.out.println("队列为空");
return "";
}
N--;
return obj;
}
//遍历
public void print(){
Node node_text = first;
for(int i = 0; i < N; i++){
System.out.println(node_text.obj);
node_text = node_text.next;
}
}
}
测试代码
public class text {
public static void main(String[] args){
Queue T = new Queue();
System.out.println("N = "+ T.getN());
System.out.println(T.isEmpty() ? "队列为空" : "队列有值");
T.EnQueue(1);
T.EnQueue(2);
System.out.println("N = "+ T.getN());
T.EnQueue(3);
T.EnQueue(4);
System.out.println("N = "+ T.getN());
T.print();
T.UnQueue();
T.UnQueue();
System.out.println();
T.print();
System.out.println(T.isEmpty() ? "队列为空" : "队列有值");
System.out.println("N = "+ T.getN());
}
}
控制台运行:
"C:\Program Files\Java\jdk1.8.0_333\bin\java.exe" "-javaagent:D:\IDEA\IntelliJ IDEA Community Edition 2020.3\lib\idea_rt.jar=51257:D:\IDEA\IntelliJ IDEA Community Edition 2020.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_333\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\rt.jar;E:\······后端······\1.2 ····java系列····\01_代码库\练习\队列\out\production\untitled" text
N = 0
队列为空
N = 2
N = 4
1
2
3
4
3
4
队列有值
N = 2
进程已结束,退出代码为 0
感谢观看~