- #include
- #include
- #include
- #include
- using namespace std;
- int main( int argc, char *argv[ ]) {
- setlocale(LC_ALL, "rus");
- stack st;
- stack > vst( vector({ "строка 1", "строка 2" }) );
- vst.push("последняя строка");
- while ( ! vst.empty() ) {
- cout << vst.top() << " : в стеке строк " << vst.size() << endl;
- vst.pop();
- }
- cout << "стек " << (vst.empty() ? "" : "не ") << "пуст" << endl;
- }
- Вывод: последняя строка : в стеке строк 3
- строка 2 : в стеке строк 2 \n строка 1 : в стеке строк 1
- стек пуст
stack::top - #include // std::cout
- #include // std::stack
- int main () {
- std::stack mystack;
- mystack.push(10);
- mystack.push(20);
- mystack.top() -= 5;
- std::cout << "mystack.top() is now " << mystack.top() << '\n';
- return 0;
- }
- Output:
- mystack.top() is now 15
- Заголовок, определяющий классы адаптера контейнеров queue и priority_queue:
- В хидере определяются шаблонные классы:
- Очередь : FIFO (first in, first out — «первым пришёл — первым ушёл») ) queue (class template )
- Очередь с приоритетом : Priority queue (class template )
Очередь (queue) - Любая последовательность, поддерживающая операции front, push_back и pop_front, может использоваться для адаптации queue. В частности, могут использоваться list и deque.
- В противоположность стеку очередь – это коллекция данных, функционирующая по принципу FIFO (First In — First Out). Она похожа на трубу, в конец которой данные втекают, а из другого конца - вытекают.
- template
- class queue {
- friend bool operator== (const queue& х,
- const queue& y);
- friend bool operator< (const queue& х,
- const queue& y);
- public:
- typedef Container::value_type value_type;
- typedef Container::size_type size_type;
-
Do'stlaringiz bilan baham: |