队列的两种实现方法
来源:互联网 发布:电脑音响品牌 知乎 编辑:程序博客网 时间:2024/06/05 03:22
一:在顺序队列的实现中,队列表示成带有如下内容的对象:
(1)一个计数器count,他跟踪队列中的元素的数目(队列长度)
(2)一个数组索引front,他跟踪队列中下一个要删除元素的索引
(3)一个数组索引rear,他跟踪队列中下一个队列元素的插入位置
(4)一个队列元素数组itemArray,他存储了队列元素的内容
(6)一个capacity,他给出了当前itemArray中的索引位置数(队列实际元素数目)
(6)一个capacityIncrement,数组扩展幅度
算法实现略。
二:在链式队列的表示中,用含有两个指针域和一个数据域的对象来表述队列,这两个指针分别指向节点链表的首末。入队列时,在链表的尾部插入;出队列时,在链表的首部插入。
算法实现:
package pk.queue;
class QueueNode {
Object item;
QueueNode link;
}
public class LinkQueue {
private QueueNode font;
private QueueNode rear;
private int count;
public boolean empty() {
return (count==0);
}
public void insert(Object newItem) {
QueueNode tempNode = new QueueNode() ;
tempNode.item = newItem;
tempNode.link = null;
if(rear == null) {
font = rear = tempNode;//空队列时,font和rear都指向null
} else {
rear.link = tempNode;
rear = tempNode;
}
count ++;
}
public Object remove() {
if(count == 0) {
return null;
} else {
Object temp = font.item;
font = font.link;
if(font == null) {
rear = null;
}
count --;
return temp;
}
}
}
- 队列的两种实现方法
- Java数组实现循环队列的两种方法
- Java数组实现循环队列的两种方法
- C++_队列的两种实现方法
- 用队列实现栈的两种方法
- 队列的两种C++实现
- 双队列的两种实现方式
- 队列的两种实现方式
- 两种方法实现队列---顺序表和链表
- Linux平台上C语言实现异步队列的两种方法
- 循环队列的实现与分析,两种方法,算法导论10.1-4
- 异步任务队列的两种处理方法
- 队列的两种存储方式的介绍与实现
- 队列的C++实现(两种方式)
- (002)循环队列的两种C/C++实现
- 队列的两种实现:数组和链表
- Java可阻塞队列的两种实现方式
- 两个队列实现一个栈的两种方案
- FPGA_TPMS_10_10
- JVM垃圾收集【一】
- 不同服务器数据库之间的数据操作
- poj 1502 MPI Maelstrom
- URAL题目分类
- 队列的两种实现方法
- Linux Programmer's Manual
- 数据库范式研究
- speex翻译第一部分 【by lindabell@欧海】
- VBS+WIA图片处理
- Ubuntu 12.04安装Flash plugin for Firefox
- about将近1年来的一点反思(从毕业最后一年的培训结束到毕业后将近半年)
- 算法集锦(找工作前看一看)DijStla||bellman-ford||floyd
- 使用Backbone.js开发Chrome便签插件