Урок 11. C++. STL Стеки и очереди (stack and queue)

21.01.2010. c++, Программирование

0

Собственно сегодня небольшой урок про стеки и очереди.

Стеки (stack)

Стеки - это множество элементов, сложенных в стопку. Например, у нас есть коробка 3х5. Мы кладем в нее доски такого же размера с различными узорами. У нас получается стек. Достать из него мы можем только начинаяя с последнего элемента, поэтому первый положенные элемент вынут будет последним. В стеках реализуется принцип first in last out (FILO).

Для создания стека нужно подключить <stack> и в коде программы его объявить:

stack <type> name, где type - тип стека, а name - имя стека.

У стека есть немного функций:

Пример:

string s;

stack <string> st;

while (cin>>s);

st.push(s);

while (!(st.empty()))

{cout<<st.top();st.pop()}

В этом примере мы считываем слова с клавиатури и выводим их в обратном порядке

Очереди (Queue)

Очереди, как следует из название, используют принцип first in first out (FIFO). То есть, тот, кого мы первым запихнули в очередь, первым из нее и выйдет (хотя в реальной жизни не всегда так....)

Реализуются очереди также просто.

Подключаем <queue>

И создаем очередь

queue <type> name;

Перечень функций почти тот-же:

Пример:

queue <int>  events;

int n;

while (cin>>n)

events.push(n);

while (!events.empty)

{make(events.front());events.pop()}

В данном примере make - какая-то функция, обрабатывающая события

Вот и все об очередях со стеками. Просто и немного;)

Страница 1 из 11

Rambler's Top100 Блогун - монетизируем блоги