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