您的位置:首页 > 编程语言 > Java开发

【第五节】Java代码实现队列----【链表的存储形式】

2015-10-13 15:37 218 查看
package com.java.chapterFive;

public class LinkQueueApp {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
LinkQueue queue=new LinkQueue();
queue.insert(20);
queue.insert(40);
queue.displayQueue();

queue.insert(60);
queue.insert(80);
queue.displayQueue();

queue.delete();
queue.delete();
queue.displayQueue();
}

}
/////////////////////////////////////////////////////////////////////////////////////
class LinkB{
public int data;
public LinkB next;

LinkB(int n){
this.data=n;
}
public void displayData(){
System.out.print(data+" ");
}
}
///////////////////////////////////////////////////////////////////////////////
class DoubleLinkB{
public LinkB first;
public LinkB last;

//-------------------------------------------构造函数初始化的时候,first,和last指向哪里
DoubleLinkB(){
first=null;
last=null;
}
//-----------------------------------------------------------判断队列是否为空
public boolean isEmpty(){
return last==null;
}
//--------------------------------插入队头
public void insertLinkB(int n){
LinkB newLinkB=new LinkB(n);
if(isEmpty()){
first=newLinkB;
last=newLinkB;
}else{
last.next=newLinkB;
last=newLinkB;
}
}
//------------------------------------------删除一个元素
public int deleteLink(){
int temp=first.data;
first=first.next;
return  temp;
}
//---------------------------------------输出当前的数据
public void displayLink(){
System.out.print("从队列最前往后输出队列的元素:");
LinkB current=first;
while(current!=null){
System.out.print(current.data+" ");
current=current.next;
}
System.out.println(" ");
}
}
///////////////////////////////////////////////////////////////////////////////////////
class LinkQueue{
public  DoubleLinkB      doublelinkb;
LinkQueue(){
doublelinkb=new DoubleLinkB();
}
//---------------------------------------进队列(队尾)
public void insert(int a){
doublelinkb.insertLinkB(a);
}
//------------------------------------出队列(队头)
public void delete(){
doublelinkb.deleteLink();
}
//--------------------------------------将队列的数据输出
public void displayQueue(){
doublelinkb.displayLink();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: