ACM程序设计(第2版)
上QQ阅读APP看书,第一时间看更新

2.12 queue队列容器

queue队列容器是一个先进先出(First In First Out, FIFO)的线性存储表,元素的插入只能在队尾,元素的删除只能在队首。图2-10是queue队列容器数据结构示意图。

图2-10 queue队列容器数据结构示意图

使用queue需要声明头文件包含语句“#include <queue>”, queue文件在C:\Program Files\Microsoft Visual Studio\VC98\Include文件夹里。

queue队列的使用方法

queue队列具有入队push()(即插入元素)、出队pop()(即删除元素)、读取队首元素front()、读取队尾元素back()、判断队列是否为空empty()和队列当前元素的数目size()这几种方法。

下面的程序详细说明了queue队列的使用方法:

        #include <queue>
        #include <iostream>
        using namespace std;

       int main(int argc, char * argv[])
        {
          //定义队列,元素类型是整型
          queue<int> q;
          //入队,即插入元素
          q.push(1);
          q.push(2);
          q.push(3);
          q.push(9);
          //返回队列元素数量
          cout<<q.size()<<endl;
          //队列是否为空,是空,则返回逻辑真,否则返回逻辑假
          cout<<q.empty()<<endl;
          //读取队首元素
          cout<<q.front()<<endl;
          //读取队尾元素
          cout<<q.back()<<endl;
          //所有的元素出列(删除所有元素)
          while(q.empty()! =true)
          {
              cout<<q.front()<<" ";
              //队首元素出队(删除队首元素)
              q.pop();
          }
          //回车换行
          cout<<endl;
          return 0;
        }

运行结果:

        4
        0
        1
        9
        1 2 3 9