Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

STL очередь - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Switch (Case) http://www.cyberforum.ru/cpp-beginners/thread818610.html
У меня есть программа, в ней по сути 2 подпрограммы, как сделать что бы при включении программы было меню выбора какое задание выполнять ? Например: Нажмите 1 - Выполняется 1 задание, за ним 2....
C++ Простейшая шифровка текста. Программа должна шифровать и расшифровывать введенный пользователем текст. Вот что я имею: #include <stdio.h> int main () {char a="abcdefghijklmnopqrstuvwxyz "; //алфавит char z="... http://www.cyberforum.ru/cpp-beginners/thread818598.html
Сортировка в матрице C++
Разработать программу, которая в вещественной квадратной матрице сортирует по возрастанию (см. примечания) элементы каждой строки верхнего треугольника, по убыванию – нижнего, оставляет без изменения...
Острова и очередь C++
Задача на очередь. Карту, определяющую прямоугольную область моря, представим матрицей с целыми элементами (0 – море, 1 - суша). Островом будем считать множество граничащих по стороне единичных...
C++ Подсчитать и вывести на печать количество вводов букв А...W http://www.cyberforum.ru/cpp-beginners/thread818558.html
1.С экрана вводятся любые буквы. Подсчитать и вывести на печать количество ввода букв A, B, C....W. Великое спасибо заранее =)
C++ Работа с COM портом Доброго времени суток, уважаемые форумчане! Помогите разобраться с COM портом. Хотя бы с чего начать. :help: На большинстве ресурсов предлогают использовать функции WinAPI, но я не могу с ними... подробнее

Показать сообщение отдельно
anmartex
...
1705 / 1198 / 496
Регистрация: 12.02.2013
Сообщений: 1,978
26.03.2013, 09:22
Цитата Сообщение от yoghurt92 Посмотреть сообщение
а есть ли возможность использовать какой-либо алгоритм для вывода очереди?
Для queue? Имея на борту только методы:
Код
empty
size
front
back
push
pop
сложно, что-то ещё придумать. Плюс сама идеология очереди не позволяет выполнять над ней какие-либо манипуляции позволяющие пробежаться по элементам, кроме как выдавливать элемент из начала очереди и вставлять его обратно в конец (т.е. тот самый механизм, который реализован у вас).

P.S.: Повторюсь: для таких целей используйте контейнер list

Добавлено через 27 минут
Вот, на просторах интернета нарыл обёртку адаптер:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <queue>
#include <iostream>
 
template <class Container>
class Adapter : public Container
{
   public:
      typedef typename Container::container_type container_type;
      container_type& get_container()
      {
         return this->c;
      }
};
 
int main()
{
   typedef std::queue<int> C;
   typedef Adapter<C> Container;
 
   Container adapter;
 
   for (int i = 0; i < 10; ++i)
   {
      adapter.push(i);
   }
 
   Container::container_type& c = adapter.get_container();
   for (Container::container_type::iterator it = c.begin(); it != c.end(); ++it)
   {
      std::cout << *it << " ";
   }
 
   return 0;
}
Идея заключается в том, чтобы получить доступ к защищённому полю c, который в свою очередь является контейнером deque или list. А здесь уже есть итераторы . Хотя на мой взгляд это ещё тот огород, и лучше отвёртку использовать для болтов, а молоток для гвоздей.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru