java实现链队列的类代码:

package linkqueue;

public class LinkQueue {

	class Element
{
Object elem;
Element next;
} private Element front;
private Element rear;
private Element header = null; /**
* 初始化队列
* */
void initQueue()
{
header = new Element();
front = new Element();
rear = new Element();
front=header;
rear=header;
} /**
* 向队列插入元素
* */
void enQueue(Object o)
{
Element e=new Element();
e.elem=o;
if(rear==header)//第一次插入元素
{
rear=e;
header.next=e;
front.next=e;
}else
{
rear.next=e;
rear=e;
}
} /**
* 出队
* */
Object deQueue()
{
Object o = null;
if(rear==header)
{
System.out.println("队列为空!");
}else
{
o=front.next.elem;
if(front.next==rear)//队中只有一个元素
{
front.next=header;
rear=header;
}else//队中大于一个元素
{
front.next=front.next.next;
}
}
return o;
} /**
* 打印队列
* */
void print()
{
System.out.print("打印队列:");
Element temp = front;
while(temp!=rear)
{
System.out.print(temp.next.elem+"\t");
temp=temp.next;
}
System.out.println();
}
}

测试类代码:

package linkqueue;

public class LinkQueueMain {

	public static void main(String[] args) {
LinkQueue lQueue = new LinkQueue();
lQueue.initQueue();
System.out.println("出队操作:"+lQueue.deQueue());
lQueue.enQueue(1);
lQueue.enQueue(2);
lQueue.enQueue(3);
lQueue.enQueue(4);
lQueue.enQueue(5);
lQueue.print(); System.out.println("出队操作:"+lQueue.deQueue());
System.out.println("出队操作:"+lQueue.deQueue());
lQueue.print(); System.out.println("出队操作:"+lQueue.deQueue());
System.out.println("出队操作:"+lQueue.deQueue());
lQueue.print(); System.out.println("出队操作:"+lQueue.deQueue());
System.out.println("出队操作:"+lQueue.deQueue());
lQueue.print(); } }

  

最新文章

  1. DICOM图像像素值(灰度值)转换为CT值
  2. Scalaz(35)- Free :运算-Trampoline,say NO to StackOverflowError
  3. 关于Python 获取windows信息收集
  4. 关于VS中文件属性的解释
  5. I do not want to inherit the child opacity from the parent in CSS(不想让子元素继承父元素的透明度)
  6. C++11 能好怎?
  7. java 图片 批量 压缩 +所有压缩
  8. 安卓开发中ScrollView不能用RelativeLayout的解决方案
  9. IOS私人API用法
  10. CLR基础之一---认识CLR [《CLR via C#》读书笔记]
  11. typeof使用笔记
  12. python 利用matplotlib中imshow()函数绘图
  13. Node.js+Koa开发微信公众号个人笔记(二)响应事件
  14. P5290 [十二省联考2019]春节十二响(堆+启发式合并)
  15. Generic Realtime Intermediary Protocol
  16. 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同
  17. Bdfproxy
  18. 撩课-Web大前端每天5道面试题-Day33
  19. 做报表需要知道的基本的SQL语句
  20. python正则表达式re库(自用)

热门文章

  1. TCP的那些事-2
  2. bound和unbound方法,类的绑定和非绑定是什么
  3. FastReport.Net使用:[29]调用存储过程1
  4. FastReport.Net使用:[6]HTML标签使用
  5. 【BZOJ 4380】4380: [POI2015]Myjnie (区间DP)
  6. bzoj 1779
  7. [转]JSONObject,JSONArray使用手册
  8. asp动态数组
  9. bash中的浮点数处理
  10. Eclipse修改svn地址