数据结构与算法分析(c++版) #9 队列

本文详细介绍了队列的概念、特点及基本操作,包括入队、出队、获取队首元素和队列长度等。通过类比现实场景,如电影院购票排队,形象地解释了队列‘先进先出’的特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

队列

       同栈一样,队列(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;
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值