Java队操作
话不多说直接上代码
Main方法
public class Main {
public static void main(String[] args) {
MyQueue mq = new MyQueue();
String s = "alibaba";
for (int i = s.length() - 1; i >= 0; i--) {
mq.enqueue(s.charAt(i));//入队
}
String rs = "";
while(!mq.isEmpty()) rs += mq.dequeue();
System.out.println(rs);
}
}
Node节点类
public class Node {
Object info;
Node next;
Node(Object info, Node next) {
this.info = info;
this.next = next;
}
Node(Object info) {
this(info, null);
}
}
MyQueue类
public class MyQueue {
Node head, tail; //头尾
//无参构造
public MyQueue() {head = tail = null;}
//判空
public boolean isEmpty() {return head == null;}
//addLast=入队
public void enqueue(Object info)
{Node p = new Node(info);
if(isEmpty()) head = tail = p;
else {tail.next = p; tail = p;}
}
//出队
public Object dequeue()
{if(isEmpty()) return null;
Object info = head.info;
head = head.next;
return info;
}
public Object front()
{if(isEmpty()) return null;
Object info = head.info;
return info;
}
//清空
public void clear() {head = tail = null;}
}