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()),需要区分。