/**
* 使用链表实现队列
* Create by Administrator
* 2018/6/19 0019
* 下午 4:37
**/
public class Link {
public long dData;
public Link next;
public Link(long d){
this.dData = d;
}
public void displayLink(){
System.out.print(dData + " ");
}
}
class SortList{
private Link first;
public SortList(){
this.first = null;
}
public boolean isEmpty(){
return first == null;
}
public void insertLast(long key){
Link newLink = new Link(key);
Link previous = null;
Link current = first;
while (current != null && key > current.dData){
previous = current;
current = current.next;
}
if(previous == null){
first = newLink;
}else{
previous.next = newLink;
}
newLink.next = current;
}
public Link remove(){
Link temp = first;
first = first.next;
return temp;
}
public void displayList(){
Link current = first;
while (current != null){
current.displayLink();
current = current.next;
}
System.out.println("");
}
}
class LinkQueue{
private FirstLastList theList;
public LinkQueue(){
this.theList = new FirstLastList();
}
public boolean isEmpty(){
return theList.isEmpty();
}
public void insert(long j){
theList.insertLast(j);
}
public long remove(){
return theList.deleteFirst();
}
public void displayQueue(){
System.out.print("Queue (front-->rear): ");
theList.displayList();
}
public static void main(String[] args) {
SortList sortList = new SortList();
sortList.insertLast(40);
sortList.insertLast(20);
sortList.displayList();
sortList.insertLast(10);
sortList.insertLast(30);
sortList.insertLast(50);
sortList.displayList();
sortList.remove();
sortList.displayList();
}
}