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

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

Войти
Регистрация
Восстановить пароль
 
vbloodv
22 / 22 / 0
Регистрация: 15.12.2012
Сообщений: 314
#1

Использование функции sort - C++

03.03.2013, 14:10. Просмотров 794. Ответов 5
Метки нет (Все метки)

Часто видел как в алгоритме std::sort(v.begin(),v.end(),Less); // импользуют самонаписанную функцию Less разве нет для этой функции аналога в STL своеобразный аналог min,max только возвращающие bool'ean значение ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.03.2013, 14:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Использование функции sort (C++):

Использование функции sort - C++
Вобщем нужна простенькая прога что бы сортировала n. Но нада использавать библиотеку #include <algorithm>; Вобщем в чем собственно мой...

Ошибка в sort и функции - C++
есть код int CkursDlg::vp(Tochka a, Tochka b) { return a.GetX()*b.GetY() - a.GetY()*b.GetX(); } int CkursDlg::dist(Tochka...

Как правильно записать вызов функции sort()? - C++
как правильно записать вызов функции sort()? #include <iostream> #include<string> using namespace std; int sizeCompare( const...

Список(List) как отсортировать по убыванию используя функции reverse(); sort(); ао убыванию - C++
Нужно отсортировать список по убыванию используя функции reverse(); и sort(); если можно фул прогу бо завтыкал тему чёто)))))

Возвращение результата функции bool и использование его в функции main() - C++
У меня есть функция bool, которая имеет вид: bool Pisos(int row, int place) { if (...) return true; else return false;...

Ввод данных в функции конструктора и использование их в перегруженной функции - C++
Вот собственно код, как его исправить, что бы не было ошибки. Пишет что переменные не объявлены. Это вполне естественно. Но как сделать...

5
DiffEreD
1431 / 768 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
03.03.2013, 14:25 #2
Ну так std::less и другие аналоги.
1
vbloodv
22 / 22 / 0
Регистрация: 15.12.2012
Сообщений: 314
03.03.2013, 14:27  [ТС] #3
Цитата Сообщение от yuron_477 Посмотреть сообщение
Ну так std::less и другие аналоги.
Уже что-то не могли бы вы привести пример на псевдокоде ибо
C++
1
std::sort(v.begin(),v.end(),std::less);
не получается применить
0
DiffEreD
1431 / 768 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
03.03.2013, 14:39 #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
#include <iostream>
#include <iomanip>
#include <vector>
#include <algorithm>
#include <functional>
 
template<typename T>
void print(const T& ar)
{
    for (auto& x : ar) std::cout<<std::setw(3)<<x<<" ";
    std::cout<<"\n";
}
 
int main()
{
    std::vector<int> ar = {1,-9,3,-7,4,6,7,-4,2,0};
    std::sort(ar.begin(), ar.end(), std::less<int>());    //std::less<int>() в sort по умолчанию
    print(ar);
    std::sort(ar.begin(), ar.end(), std::greater<int>());
    print(ar);
    ar.erase(std::remove_if(ar.begin(), ar.end(), std::bind(std::greater<int>(), std::placeholders::_1, 2)), ar.end());
    print(ar);
}
1
DU
1484 / 1130 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
03.03.2013, 14:41 #5
самописную используют если стандартный вариант не подходит.
а стандартный вариант - это сорт с двумя аргументами:
std::sort(v.begin(),v.end());
если для типов контейнера есть оператор <, то это скомпилируется.
1
vbloodv
22 / 22 / 0
Регистрация: 15.12.2012
Сообщений: 314
03.03.2013, 16:08  [ТС] #6
yuron_477,
Цитата Сообщение от yuron_477 Посмотреть сообщение
C++
1
ar.erase(std::remove_if(ar.begin(), ar.end(), std::bind(std::greater<int>(), std::placeholders::_1, 2)), ar.end());
bind - это boost? у меня просто компилятор visual studio 2008...
0
03.03.2013, 16:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.03.2013, 16:08
Привет! Вот еще темы с ответами:

Использование функции как параметра другой функции - C++
В задании указано, что функция P прибавляет значение функции ff к элементу массива, если он входит в промежуток от C до D, которые вводятся...

использование массива из функции в другой функции - C++
как использовать полученный массив в другой функции. к примеру в функции int Mass(char *fname) происходит конвертация одномерного массива...

Использование функции gets - C++
char *str1; gets(str1); Комментарий препода: Собственно вопрос: Справедлив ли комментарий препода и как сделать так, чтоб было...

Использование функции - C++
Не могли бы помочь решить вот это задание? И подскажите где можно прочитать о функциях, передаче данных при вызове функции....


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

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

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