day_10-acm 队列(queue)

来源:互联网 发布:递归算法经典实例 java 编辑:程序博客网 时间:2024/05/23 00:10

queue (线性表) 在头文件中定义

队列是一种特殊的线性表,是一种先进先出(FIFO—first in first out)的数据结构。它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。

queue类是为程序员提供了一个队列的功能的容器适配器,在头文件中定义。

定义queue 对象的示例代码如下:

    queue<int> q1;//int类型数据    queue<double> q2;    queue<string> q3;

成员函数

q.empty()

判断队列q是否为空,当队列q空时,返回true;否则为false(值为0 ( false ) / 1( true ) )。

q.size()

访问队列q中的元素个数。( 不可写成 sizeof ( q ) 或 size(q))

q.push(a)

会将一个元素a置入队列q中。

q.front()

会返回队列q内的第一个元素(也就是第一个被置入的元素)。( 不可写成 front(q) )

q.back()

会返回队列q中最后一个元素(也就是最后被插入的元素)。( 不可写成 back(q) )

q.pop()

会从队列q中移除第一个元素。(不可写成 pop(q) )

注意:

pop( ) 虽然会移除下一个元素,但是并不返回它。
front( ) 和back( ) 返回下一个元素但并不移除该元素。
在stack库中的函数与queue很类似,但是stack中要返回元素时,只能返回最后一个元素,且函数名不一样(stack中为s.top()),需要区分。

有本事点我啊

0 0
原创粉丝点击