Cамоучитель по Visual Studio.Net

       

Контейнеры типа queue



Контейнеры типа 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";

}



Содержание раздела