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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
pun4er
6 / 6 / 1
Регистрация: 06.10.2010
Сообщений: 122
#1

Поиск элемента в queue - C++

05.01.2012, 11:33. Просмотров 1290. Ответов 3
Метки нет (Все метки)

Доброе утро! Такой вопрос, можно ли как то осуществлять поиск элемента в очереди? В алгоритмах нашел функцию поиска find, но у queue нет итератора....Может кто знает алгоритм поиска именно в очереди?Буду признателен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.01.2012, 11:33     Поиск элемента в queue
Посмотрите здесь:

Поиск элемента - C++
Программа считает сколько минимально раз подряд встречается элемент х в массиве #include <iostream> using namespace std; int...

Поиск элемента структуры - C++
Задача элементарна : дан массив в нем храниться информациях о студентах и их номера телефонов .Нужно сделать поиск по номеру телефону, и...

Поиск минимального элемента - C++
Доброго времени суток. Помогите пожалуйста с программой, вот задание: В одномерном массиве, состоящим из n вещественных элементов,...

Поиск элемента в списке. - C++
Есть список, который содержит объекты класа type. Мне нужно найти в этом списке объект, который будет отвечать некоторым условиям. Пробую...

Поиск элемента в массиве - C++
Почему не выводится цифра 6? #include <stdio.h> #include <string.h> int main () { char szInput = "1234567890"; int k, n...

Поиск элемента в массиве - C++
Здравствуйте! Помогите доделать программу, нужно чтобы программа в пункте 2 (L==2)искала в массиве определенную константу (любое значение...

Поиск максимального элемента - C++
Нужна сделать поиск максимального элемента массива путем деления пополам не через рекурсию, а через цикл. #include <stdio.h> ...

Поиск элемента в list - C++
Написать программу учета заявок на обмен квартир и поиска вариантов обмена. Каждая заявка содержит сведения о двух квартирах: требуемой...

Поиск элемента в list - C++
Дана задача: 1. Надо считать из файлов информацию о машинах находящихся на трассе 1) Положение(км) 2) Скорость 3) Гос. Номер ...

Поиск элемента в списке - C++
Добавьте в класс списков метод int Search(T x) для поиска зна- чения x в списке. Метод должен возвращать номер узла со значением x или...

Поиск элемента в списке - C++
Добрый день! У меня есть набор некоторых значений, например такой: ("0", "1","6","7","8","9","10","11"....) Мне же нежно среди...

Быстрый поиск элемента - C++
Добрый день всем! Такой вопрос - есть у меня строка из 64-х чаров. Мне приходит новый чар и нужно найти какой индекс у такого же чара в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
2539 / 1304 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
05.01.2012, 11:44     Поиск элемента в queue #2
queue не подразумевает свободное разгуливание по самой себе. Выпихивать в другую очередь и искать.
sandye51
программист С++
681 / 583 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
05.01.2012, 13:28     Поиск элемента в queue #3
если сильно хочется, то можно вспомнить что queue это адаптер контейнера, следовательно получить сам контейнер и делать что хотим)
C++
1
2
std::queue<int> f;
f._Get_container();
вряд ли конечно этот метод предусмотрен стандартом, но в VS он есть)
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
06.01.2012, 12:08     Поиск элемента в queue #4
А чтобы по стандарту, можно вот такую простенькую функцию написать:
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#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;
}
Yandex
Объявления
06.01.2012, 12:08     Поиск элемента в queue
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru