STL之queue的使用

1、常用的函数接口

queue 模板类的定义在头文件中。
与stack 模板类很相似,queue 模板类也需要两个模板参数,一个是元素类型,一个容器类
型,元素类型是必要的,容器类型是可选的,默认为deque 类型。
定义queue 对象的示例代码如下:
queue q1;
queue q2;

queue 的基本操作有:

  • 入队,如例:q.push(x); 将x 接到队列的末端。
  • 出队,如例:q.pop(); 弹出队列的第一个元素,注意,并不会返回被弹出元素的值。
  • 访问队首元素,如例:q.front(),即最早被压入队列的元素。
  • 访问队尾元素,如例:q.back(),即最后被压入队列的元素。
  • 判断队列空,如例:q.empty(),当队列空时,返回true。
  • 访问队列中的元素个数,如例:q.size()

2、用法实例

#include <cstdlib>
#include <iostream>
#include <queue>

using namespace std;

int main()
{
    int e, n, m;
    queue<int> q1;
    for(int i=0; i<10; i++)
       q1.push(i);
    if(!q1.empty())
        cout << "q1 is not empty" << endl << endl;
    n=q1.size();
    cout << "q1's size is:" << n << endl << endl;
    m=q1.back();
    cout << "当前q1的队尾元素是:" << m <<endl;
    cout << endl << "队列从头至尾输出元素为:" << endl;
    for(int j=0; j<n; j++)
    {
       e = q1.front();
       cout << e << " ";
       q1.pop();
    }
    cout << endl << endl;
    if(q1.empty())
        cout << "q1 is empty\n" ;
    return 0;
}

输出为:

q1 is not empty

q1's size is:10

当前q1的队尾元素是:9

队列从头至尾输出元素为:
0 1 2 3 4 5 6 7 8 9

q1 is empty

猜你喜欢

转载自blog.csdn.net/baidu_35679960/article/details/80724832
今日推荐