Шаг 336.
Библиотека STL.
Специальные контейнеры. Очереди. Пример использования очереди

    На этом шаге мы приведем пример использования очереди.

    Пример использования класса queue<>:

//---------------------------------------------------------------------------

#include <vcl.h>
#include <iterator>
#include <iostream>
#include <queue>
#include <string>

#include <conio.h>   //необходимо для getch()

#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
using namespace std;

std::string ToRus(const std::string &in)
{
  char *buff = new char [in.length()+1];
  CharToOem(in.c_str(),buff);
  std::string out(buff);
  delete [] buff;
  return out;
}

int main()
{

  queue<string> q;

  // Вставка трех элементов в очередь
  q.push(ToRus("Это "));
  q.push(ToRus("я. "));
  q.push(ToRus("Здравствуйте"));

  // Вывод и удаление двух элементов из очереди
  cout << ToRus("Извлечение и вывод двух элементов из очереди: \n");
  cout << q.front();
  q.pop();
  cout << q.front();
  q.pop();
  cout << endl;

  // Вставка двух новых элементов
  q.push(ToRus("Привет "));
  q.push(ToRus("всем!"));

  // Удаление одного элемента
  q.pop();

  // Вывод и удаление двух элементов
  cout << ToRus("Вывод и удаление двух элементов: \n");
  cout << q.front();
  q.pop();
  cout << q.front() << endl;
  q.pop();

  // Вывод количества элементов в очереди
  cout << ToRus("Количество элементов в очереди: ") << q.size()
       << endl;


  getch();
  return 0;
}

//---------------------------------------------------------------------------
Текст этого примера можно взять здесь.

    Результат выполнения программы выглядит так:


Рис.1. Результат работы приложения

    На следующем шаге мы рассмотрим строение класса queue.




Предыдущий шаг Содержание Следующий шаг