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

std::sort + std::lower_bound - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Организация циклов в C++ http://www.cyberforum.ru/cpp-beginners/thread433953.html
Не могу никак справиться с этим заданием: Дано натуральное число N: опредилить наименьшую цифру с чётным номером Оч нужна помощь. Заранее спасибо за уделение времени моему вопросу Добавлено через 30 минут оч необходима помощь. помогите пожалуйста
C++ Аргументы функции main() Написать программу для определения, чередуются ли в данной последовательности символы ‘+’ и ‘-‘, и сколько раз каждый из этих символов входит в эту последовательность. Собственно определение оформить как функцию. http://www.cyberforum.ru/cpp-beginners/thread433938.html
Добавление флага в алгоритм сортировки способом пузырька (С++) C++
Всем добрый вечер. Помогите пожалуйста добавить флажок в этот алгоритм. Идея – если при выполнении метода пузырька не было обменов, массив уже отсортирован и остальные проходы не нужны. Реализация: переменная-флаг, показывающая, был ли обмен; если она равна False, то выход. void sort(team &arr,unsigned *field,unsigned left,unsigned right) { unsigned i=left,j=right,buf,buf2; buf=field;...
Отсортировать строки массива целых чисел по убыванию. C++
Отсортировать строки массива целых чисел по убыванию.
C++ Подсчитайте количество элементов одномерного массива, которые совпадают со своим номером http://www.cyberforum.ru/cpp-beginners/thread433917.html
Подсчитайте количество элементов одномерного массива, которые совпадают со своим номером и при этом кратны 3
C++ подпрограммы Найти три таких простых числа, чтобы их сумма была в 5 раз меньше их произведения. подробнее

Показать сообщение отдельно
Healius
4 / 4 / 0
Регистрация: 06.05.2011
Сообщений: 50
23.01.2012, 22:26     std::sort + std::lower_bound
тема такая: есть класс person:
C++
1
2
3
4
5
class Person{
private:
    string name_;
    string adress_;
    long phone_;
есть вектор объектов этого класса. надо сделать быстрый поиск по полям этого класса в векторе
решил делать сортировку вектора с предикатами по каждому полю, слияния, а потом lower_bound
C++
1
2
3
4
5
void search_name(string name){
        std::sort(pV.begin(),pV.end(),compare_name);
        vector<Person>::iterator i=lower_bound(pV.begin(),pV.end(),Person(name,"",0));
        cout<<*i<<endl;
        }
предикат:
C++
1
2
3
bool compare_name(Person& obj1,Person& obj2){
    return obj1.get_name()<obj2.get_name();
}
сортировка работает только по имени, и при любом вводе выдает первый элемент. как исправить?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru