template <class T, class Container = deque<T> > class queue;
queues是一种容器适配器,用C++中的模板写成,设计的目的在于用来操作先进先出(FIFO)的线性表。它包含了队列的基本操作:
-
- empty 判断队列是否为空。
- size 返回队列的大小。
- front 获取队列队头的元素,不删除元素。
- back 获取队列队尾元素,不删除元素。
- push_back 入队,元素增加一个。
- pop_front 出队,不返回出队元素。
下面给出几个官方示例程序:
// queue::empty #include <iostream> // std::cout #include <queue> // std::queue int main () { std::queue<int> myqueue; int sum (0); for (int i=1;i<=10;i++) myqueue.push(i); while (!myqueue.empty()) { sum += myqueue.front(); myqueue.pop(); } std::cout << "total: " << sum << ‘\n‘; return 0; }
queue::empty
// queue::size #include <iostream> // std::cout #include <queue> // std::queue int main () { std::queue<int> myints; std::cout << "0. size: " << myints.size() << ‘\n‘; for (int i=0; i<5; i++) myints.push(i); std::cout << "1. size: " << myints.size() << ‘\n‘; myints.pop(); std::cout << "2. size: " << myints.size() << ‘\n‘; return 0; }
queue::size
// queue::front #include <iostream> // std::cout #include <queue> // std::queue int main () { std::queue<int> myqueue; myqueue.push(77); myqueue.push(16); myqueue.front() -= myqueue.back(); // 77-16=61 std::cout << "myqueue.front() is now " << myqueue.front() << ‘\n‘; return 0; }
queue::front
// queue::back #include <iostream> // std::cout #include <queue> // std::queue int main () { std::queue<int> myqueue; myqueue.push(12); myqueue.push(75); // this is now the back myqueue.back() -= myqueue.front(); std::cout << "myqueue.back() is now " << myqueue.back() << ‘\n‘; return 0; }
queue::back
// queue::push/pop #include <iostream> // std::cin, std::cout #include <queue> // std::queue int main () { std::queue<int> myqueue; int myint; std::cout << "Please enter some integers (enter 0 to end):\n"; do { std::cin >> myint; myqueue.push (myint); } while (myint); std::cout << "myqueue contains: "; while (!myqueue.empty()) { std::cout << ‘ ‘ << myqueue.front(); myqueue.pop(); } std::cout << ‘\n‘; return 0; }
queue::push/pop
时间: 2024-10-22 00:18:43