Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.76/25: Рейтинг темы: голосов - 25, средняя оценка - 4.76
6 / 6 / 3
Регистрация: 04.07.2009
Сообщений: 50
1

std::map, std::vector и порядок обхода коллекции

21.04.2011, 19:53. Просмотров 4892. Ответов 3
Метки нет (Все метки)


Здравствуйте, уважаемые!
Вопрос следующий - если я сохраняю какие-то значения в map или вектор, то всегда ли я буду получать тот-же порядок, обходя контейнер итератором?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
template <class T> void func(T t);
 
// -----
std::map <int,int> map;
for (std::map <int,int> ::iterator it = map.begin(); it != map.end(); ++it); // обход итератором
for_each(map.begin(), map.end(), func); // обработка алгоритмом
 
 
// -----
std::vector <int> vector>;
 
for (unsigned int i = 0; i <= vector.size(); ++i); // обход счетчиком
for (std::vector <int> ::iterator it = vector.begin(); it != vector.end(); ++it); // обход итератором
for_each(vector.begin(), vector.end(), func); // обработка алгоритмом
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.04.2011, 19:53
Ответы с готовыми решениями:

На основе исходного std::vector<std::string> содержащего числа, создать std::vector<int> с этими же числами
подскажите есть вот такая задача. Есть список . Создать второй список, в котором будут все эти же...

Возможно ли создать контейнер std::map, в котором в качестве значения была бы ссылка на std::map?
Здравствуйте. Возможно ли создать контейнер std::map, в котором в качестве значения была бы...

Emplace в std::map. Как добавить элемент в std::map без копирования?
здравствуйте... есть ли способ не писать так: std::map&lt;int, char&gt; ksa;...

Как передать целочисленную матрицу типа std::vector<std::vector<int> > в функцию?
Здравствуйте. Почитал на форуме, но так и не понял что я делаю не так. Имеется двумерный вектор....

__________________
Помогаю в написании курсовых работ и дипломов здесь.
Записывайтесь на профессиональные курсы C++ разработчиков
3
Эксперт С++
623 / 467 / 57
Регистрация: 28.01.2011
Сообщений: 605
21.04.2011, 19:58 2
В vector - да. В map - вероятно, нет, так как при добавлении элементов туда контейнер автоматически сортируется и итератор будет обходить контейнер уже в отсортированном порядке.
0
В астрале
Эксперт С++
8030 / 4787 / 655
Регистрация: 24.06.2010
Сообщений: 10,558
21.04.2011, 22:16 3
Если вопрос про for_each и обход итератором - разницы нет.
0
6 / 6 / 3
Регистрация: 04.07.2009
Сообщений: 50
21.04.2011, 22:21  [ТС] 4
Цитата Сообщение от ForEveR Посмотреть сообщение
Если вопрос про for_each и обход итератором - разницы нет.
да, ибо это одно и то-же по сути.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.04.2011, 22:21

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь или здесь.

Очистка map и перевернутого std::map c std::greater
Написала я программу, которая заполняет два контейнера map. a,b. вывод программы такой 11 a:...

Как изменять размер std::vector<std::vector>?
Здравствуйте, как нужно изменять размер std::vector&lt;std::vector&gt; например: ...

Вывести значения std::vector<std::vector<int*> >
Подскажите, как вывести значения? const size_t row = 3; const size_t col = 3;...

Стоит ли очищать в деструкторе std::map , std::vecotor?
У меня ещё один нубский вопрос :) Вот если в классе объявлены мапы и вектора, которые по ходу...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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