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

队列(链式存储)JAVA代码

2016-05-27 16:13 155 查看
publicclassLinkQueue<T>{




//结点类


publicclassNode{


publicTdata;


publicNodenext;




publicNode(Tobj,Nodenext){


this.data=obj;


this.next=next;


}


}




privateNodehead,front,rear;




publicLinkQueue(){


head=newNode(null,null);


front=rear=head;


size=0;


}




//从队尾入队


publicvoidadd(Tt)


{


Nodes=newNode(t,null);


rear.next=s;


rear=s;


size++;//队列长度+1


}




//从队头出队


publicTpoll()throwsException


{


if(rear==front)


thrownewException("underflow!");




Nodetemp=front.next;//暂存队首,以便返回


front.next=front.next.next;




if(front.next==null)//最后一个元素出队:还要对队尾处理


rear=front;




returntemp.data;


}




publicbooleanisEmpty(){


returnfront==rear;


}




}


LinkQueue<String>q=newLinkQueue<String>();


q.add("a");


q.add("b");


q.add("c");


q.add("d");


q.add("e");


q.add("f");


q.add("g");


q.add("h");


q.add("i");


q.add("j");


q.add("k");


q.add("l");


q.add("m");


while(!q.isEmpty()){


Stringtemp=q.poll();


System.out.print(temp);


}


输出

abcdefghijklm


来自为知笔记(Wiz)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: