STL之queue容器
1.queue容器
1.1 queue容器基本概念
Queue是一种先进先出(First In First Out,FIFO)的数据结构,它有两个出口,queue容器允许从
一端新增元素,从另一端移除元素。


1.2 queue没有迭代器
Queue所有元素的进出都必须符合”先进先出”的条件,只有queue的顶端元素,才有机会被外界取用。
Queue不提供遍历功能,也不提供迭代器。
2.queue常用API
2.1 queue构造函数
queue<T> queT;//queue采用模板类实现,queue对象的默认构造形式: queue(const queue &que);//拷贝构造函数
2.2 queue存取、插入和删除操作
push(elem);//往队尾添加元素 pop();//从队头移除第一个元素 back();//返回最后一个元素 front();//返回第一个元素
2.3 queue赋值操作
queue& operator=(const queue &que);//重载等号操作符
2.4 queue大小操作
empty();//判断队列是否为空 size();//返回队列的大小
代码示例:
#define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<queue> using namespace std; /*Queue所有元素的进出都必须符合”先进先出”的条件, 只有queue的顶端元素, 才有机会被外界取用。 Queue不提供遍历功能, 也不提供迭代器。*/ void test() { //没有迭代器 queue<int> q; q.push(10); q.push(20); q.push(30); q.push(40); queue<int> q1; //while (!q.empty()) //{ // cout << "队头"<<q.front() << endl; // cout << "队尾" << q.back() << endl; // cout << q.size() << endl; // // q.pop(); //} q1 = q; while (!q1.empty()) { cout << "队头" << q1.front() << endl; cout << "队尾" << q1.back() << endl; cout << q1.size() << endl; q1.pop(); cout << "容器所占字节" << sizeof(q1) << endl; } } int main() { test(); system("pause"); return EXIT_SUCCESS; }

浙公网安备 33010602011771号