package com.zoujc.QueueLink;
/**
* 链表实现队列
*/
class FirstLastList {
private Link first;
private Link last;
public FirstLastList(){
first = null;
last = null;
}
//判空
public boolean isEmpty(){
return first == null;
}
//插入
public void insertLast(int dd){
Link link = new Link(dd);
if(isEmpty()){
first = link;
}else {
last.next = link;
}
last = link;
}
//删除
public int deleteFirst(){
int temp = first.dData;
if(first.next == null){
last = null;
}
first = first.next;
return temp;
}
//显示
public void displayList(){
Link link = first;
while (link != null){
link.display();
link = link.next;
}
System.out.println("");
}
}
class Link{
public int dData;
public Link next;
public Link(int dd){
dData = dd;
}
public void display(){
System.out.print(dData + " ");
}
}
class LinkQueue{
private FirstLastList theList;
public LinkQueue(){
theList = new FirstLastList();
}
//判空
public boolean isEmpty(){
return theList.isEmpty();
}
//插入,从末尾插入
public void insert(int value){
theList.insertLast(value);
}
//删除
public int remove(){
return theList.deleteFirst();
}
//显示
public void displayQueue(){
System.out.print("Queue:");
theList.displayList();
}
public static void main(String[] args){
LinkQueue linkQueue = new LinkQueue();
linkQueue.insert(20);
linkQueue.insert(66);
linkQueue.insert(99);
linkQueue.insert(55);
linkQueue.displayQueue();
linkQueue.remove();
linkQueue.remove();
linkQueue.displayQueue();
}
}
java版数据结构与算法—链表实现队列
猜你喜欢
转载自blog.csdn.net/weixin_38799368/article/details/84261606
今日推荐
周排行