- 基于链表数据结构实现Queue,将队列表示为一条从最早插入的元素到最近插入的元素的链表,实例变量first指向队列的开头,实例变量last指向队列的结尾。
public class Queue<Item> {
private Node<Item> first;
private Node<Item> last;
private int N;
public boolean isEmpty(){
return first == null;
}
public int size() {
return N;
}
public void enqueue(Item item) {
Node<Item> oldlast = last;
last = new Node<>();
last.item = item;
last.next = null;
if (isEmpty()) {
first = last;
}else{
oldlast.next = last;
}
N++;
}
public Item dequeue() {
if (isEmpty()) {
last = null;
return null;
}
Item item = first.item;
first = first.next;
N--;
return item;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Queue<String> queue = new Queue<>();
queue.enqueue("to");
queue.enqueue("be");
queue.enqueue("or");
System.out.println(queue.dequeue());
System.out.println(queue.dequeue());
System.out.println(queue.dequeue());
System.out.println(queue.dequeue());
}
}
//-------
to
be
or
null
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。