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

Multiset - C++

Восстановить пароль Регистрация
 
The1Phoenix
2 / 2 / 0
Регистрация: 28.03.2012
Сообщений: 76
19.12.2012, 15:06     Multiset #1
Какой параметр надо задать контейнеру, чтобы он сортировал по убыванию? Или нужен какой-то алгоритм?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2012, 15:06     Multiset
Посмотрите здесь:

C++ С++ Builder STL copy/sort multiset
Реализовать контейнер multiset к классу C++
Multiset: исправить ошибку в коде C++
C++ Std::multiset и оператор <, почему код работает?
как доступиться то елемента multiset за номером в массиве ? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vxg
Модератор
 Аватар для vxg
2639 / 1650 / 156
Регистрация: 13.01.2012
Сообщений: 6,212
19.12.2012, 15:21     Multiset #2
на сете делал упорядочивал так
C++
1
2
3
4
5
6
7
8
9
10
11
12
class less_for_layer:
    public std::binary_function<layer *, layer *, bool>
{
public:
    bool operator () (layer * const x, layer * const y) const;
};
bool less_for_layer::operator () (layer * const x, layer * const y) const
{
    return x->id < y->id;
}
...
std::set<layer *, less_for_layer> *ls;
Пaтрик
 Аватар для Пaтрик
394 / 387 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
19.12.2012, 15:26     Multiset #3
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <set>
#include <functional>
#include <iterator>
#include <algorithm> 
 
int main()
{
    std::multiset<int, std::greater<int> > set = { 1, 2, 3, 4 };
    std::copy(set.begin(), set.end(), std::ostream_iterator<int>(std::cout, " "));
}
http://ideone.com/iTPCgQ

В шаблоне второй параметр - компаратор, в данном случае что бы было по убыванию задается std::greater.
The1Phoenix
2 / 2 / 0
Регистрация: 28.03.2012
Сообщений: 76
19.12.2012, 15:53  [ТС]     Multiset #4
Цитата Сообщение от Пaтрик Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <set>
#include <functional>
#include <iterator>
#include <algorithm> 
 
int main()
{
    std::multiset<int, std::greater<int> > set = { 1, 2, 3, 4 };
    std::copy(set.begin(), set.end(), std::ostream_iterator<int>(std::cout, " "));
}
http://ideone.com/iTPCgQ

В шаблоне второй параметр - компаратор, в данном случае что бы было по убыванию задается std::greater.
Да, вот именно меня он и интересовал, не мог нигде найти понятную информацию, спасибо, решено.
Avazart
 Аватар для Avazart
6893 / 5133 / 250
Регистрация: 10.12.2010
Сообщений: 22,560
Записей в блоге: 17
19.12.2012, 16:51     Multiset #5
Цитата Сообщение от The1Phoenix Посмотреть сообщение
Да, вот именно меня он и интересовал, не мог нигде найти понятную информацию, спасибо, решено.
В любой книге по STL есть, так что не надо...
Yandex
Объявления
19.12.2012, 16:51     Multiset
Ответ Создать тему
Опции темы

Текущее время: 06:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru