链表-E-实现队列

来源:互联网 发布:pythonpath linux 编辑:程序博客网 时间:2024/06/05 17:59
package e_link.E_queue;


public class FirstLastList {
private Link first;
private Link last;


public FirstLastList() {
first = null;
last = null;
}


public boolean isEmpty() {
return first == null;
}


public void insertLast(long dd) {
Link newLink = new Link(dd);
if (isEmpty())
first = newLink;
else
last.next = newLink;
last = newLink;


}


public long deleteFirst() {
long temp = first.data;
if (first.next == null)
last = null;
first = first.next;
return temp;
}


public void displayList() {
Link current = first;
while (current != null) {
current.displayLink();
current = current.next;
}
}
}package e_link.E_queue;


public class Link {
public long data;
public Link next;


public Link(long d) {
data = d;
}


public void displayLink() {
System.out.println(data);
}
}package e_link.E_queue;


public class LinkQueue {
private FirstLastList theList;


public LinkQueue() {
theList = new FirstLastList();
}


public boolean isEmpty() {
return theList.isEmpty();
}


public void insert(long dd) {
theList.insertLast(dd);
}


public long remove() {
return theList.deleteFirst();
}


public void displayQueue() {
theList.displayList();
}
}package e_link.E_queue;


/**
 * 链表实现队列
 * 
 * @author Administrator
 *
 */
public class LinkQueueApp {
public static void main(String[] args) {
LinkQueue linkQueue = new LinkQueue();


linkQueue.insert(10);
linkQueue.insert(20);
linkQueue.insert(30);


linkQueue.displayQueue();

linkQueue.insert(40);
linkQueue.insert(50);
linkQueue.insert(60);

System.out.println("-------------");
linkQueue.displayQueue();


linkQueue.remove();
linkQueue.remove();
linkQueue.remove();
linkQueue.remove();
System.out.println("-------------");
linkQueue.displayQueue();
}
}
0 0
原创粉丝点击