您的位置:首页 > 理论基础 > 数据结构算法

课程笔记 11:数据结构(清华) 栈与队列

2015-07-25 20:33 113 查看
与栈一样,队列也是存放数据对象的一种容器,其中的数据对象也按线性的逻辑次序排列。队列结构同样支持对象的插入和删除,但两种操作的范围分别被限制于队列的两端,并约定新对象只能从某一端插入其中,从另一端删除已有的元素。允许取出元素的一端称作队头,而允许插入元素的另一端称作队尾。

与栈不同的是,队列的元素操作具有先进先出的特点。这是由于入队和出队操作被固定在队头和队尾两端。

队列的操作接口主要有:规模size()、判空empty()、入队enqueue()、出队dequeue()、队头front()。

其具体实现如下:

#include <List.h>

template <typename T>

class queue :public List<T>

{

public:

void enqueue(T const & e)

{ inserAsLast(e); }

T & dequeue()

{ return remove(first()); }

T & front()

{ return first().data; }

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