Контейнеры
типа queue
Очередь — это
тоже,адаптер, который предоставляет ограниченное подмножество функциональности
контейнера. Говорят, что очередь — это структура данных с дисциплиной доступа
"first in first out" (FIFO). Элементы, вставляемые в конец очереди, могут быть
выбраны спереди. Это означает, что метод queue:: front () возвращает самый «старый»
элемент, то есть тот, который был вставлен в очередь least recently — первым
из тех, что еще живы. Очередь, так же как и стек, не допускает итераций прохода
по своим элементам. По умолчанию она основана на контейнере типа deque. Сравнение
стека и очереди приведены в следующем фрагменте (Подключите <queue>):
void
main ()
{
//==========
Массив объектов класса Man
Man
ar[] =
{
joy,
mаrу, win
};
uint
size =
sizeof(ar)/sizeof(Man);
//==========
Создаем с.тек объектов класса Man
stack<Man>
s;
for
(uint i=0; i<size; i++) s.push(ar[i]);
cout
« "Stack of Man:\n\n";
while
(s.size ())
{
cout
« s.top() « "; ";
s.pop
();
}
//==========
Создаем очередь объектов класса Man
queue<Man>
q;
for
(i=0; Ksize; i++) q.push(ar[i]);
cout
« "\n\nQueue of Man:\n\n";
while
(q.size ())
{
cout
« q.front() « "; ";
q.pop();
}
cout«"\n\n";
}