Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Поиск по очереди queue

87K
19 декабря 2012 года
suic
1 / / 19.12.2012
Здравствуйте. у меня есть код поиска по очереди. дело в том, что я не очень разбираюсь в программировании, но мне необходимо хоть немного понять то, что к чему. помогите пожалуйста мне, в виде комментариев в коде понять, что происходит

#include <iostream>
#include <vector>
#include <list>
#include <queue>
#include <deque>
#include <algorithm>
#include <iterator>

template<typename T, typename Cont, typename FwdIter>
void queue_to_container(const std::queue<T, Cont>& q, FwdIter iter)
{
typedef T value_type;

std::queue<T> copy_q = q;

while (!copy_q.empty())
{
*iter++ = copy_q.front();

copy_q.pop();
}
}

int main()
{
std::queue<int> q;

q.push(10);
q.push(20);
q.push(30);

std::vector<int> vec(3);

queue_to_container(q, vec.begin());

std::list<int> lst;

queue_to_container(q, std::back_inserter(lst));

std::cout << "Vector: ";
std::copy(vec.begin(), vec.end(), std::ostream_iterator<int>(std::cout, " "));
std::cout << std::endl;

std::cout << "List: ";
std::copy(lst.begin(), lst.end(), std::ostream_iterator<int>(std::cout, " "));
std::cout << std::endl;

std::cout << "Queue: ";
std::cout << q.front() << " ";
q.pop();
std::cout << q.front() << " ";
q.pop();
std::cout << q.front() << std::endl;
q.pop();

return 0;
}
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог