数据结构与算法分析(c++版) #9 队列
2015-09-24 10:41
267 查看
队列
同栈一样,队列(queue)也是一种受限的线性表。队列元素只能从队尾插入(称为入队操作,enqueue),以及从队首删除(称为出队操作,dequeue)。队列操作像在电影院前排队买票一样。如果没有人为的破坏,那么新来者应该站到队列的后端,在队列最前面的人是下一个被服务的对象。因此,队列是按照到达的顺序来释放元素的,即“先进先出”(First
In First Out)。
下面定义了队列的虚拟类。
同栈一样,队列(queue)也是一种受限的线性表。队列元素只能从队尾插入(称为入队操作,enqueue),以及从队首删除(称为出队操作,dequeue)。队列操作像在电影院前排队买票一样。如果没有人为的破坏,那么新来者应该站到队列的后端,在队列最前面的人是下一个被服务的对象。因此,队列是按照到达的顺序来释放元素的,即“先进先出”(First
In First Out)。
下面定义了队列的虚拟类。
template <class Elem> class Queue { // 清空队列的元素 virtual void clear() = 0; // 入队 virtual bool enqueue(const Elem&) = 0; // 出队,并返回队首元素 virtual bool dequeue(Elem&) = 0; // 返回队首元素 virtual bool frontValue(Elem&) const = 0; // 返回队列长度 virtual int length() const = 0; };
相关文章推荐
- java 数据结构
- [是用数据结构]UVa1471 - Defense Lines
- Java数据结构与算法
- C语言数据结构之单链表的拆分
- C语言数据结构之一元多项式的求导
- C语言数据结构之求两个集合的交集(链表)
- 基础数据结构--双向链表的实现
- java数据结构
- 河南理工大学14级数据结构第一次上机实验课题试验
- 数据结构与算法面试题80道
- 关于栈的操作
- 数据结构与算法分析(c++版) #8 顺序栈和链式栈
- 【链表项目2 - 建设“单链表”算法库】
- LEETCODE-Remove Linked List Elements
- 数据结构与算法分析(c++版) #7 栈
- 第四周项目三数据结构实践(三)——单链表:递增判断
- 第四周项目三 数据结构实践(二)——单链表:连接
- PHP 数据结构
- 两个一元多项式相加(链表 || 顺序表实现)
- MySQL列:innodb的源代码的分析的基础数据结构