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

Структура сравнения контейнера - C++

Восстановить пароль Регистрация
 
BenBen
0 / 0 / 0
Регистрация: 16.01.2012
Сообщений: 15
21.03.2012, 19:09     Структура сравнения контейнера #1
Имеется контейнер multiset<AnsiString, Compare>
Compare структура сравнения. Вот, и мне нужно упорядочить строки по увеличению длины и длиной от 5 до 10 символов

С увеличением длины понятно, а как по заданной длине? Подскажите
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.03.2012, 19:09     Структура сравнения контейнера
Посмотрите здесь:

C++ Структура, с использованием контейнера библиотеки STL
C++ сapacity контейнера
C++ Выбор контейнера
C++ Удаление объекта из контейнера
Из STL контейнера C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
21.03.2012, 19:46     Структура сравнения контейнера #2
Что делать со строками, которые не попадают в размер [5, 10]? Оставить на месте, скинуть в конец, или что-то еще?
BenBen
0 / 0 / 0
Регистрация: 16.01.2012
Сообщений: 15
21.03.2012, 20:57  [ТС]     Структура сравнения контейнера #3
оставить на месте
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
21.03.2012, 21:05     Структура сравнения контейнера #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
#include <iostream>
#include <set>
#include <string>
 
struct comp
{
    bool operator() (const std::string& fst, const std::string& snd)
    {
        return  (
                    (fst.length() > 5)  &&
                    (fst.length() < 11) &&
                    (snd.length() > 5)  &&
                    (snd.length() < 11) &&
                    (fst.length() < snd.length())
                );
    }
};
 
int main()
{
    std::multiset<std::string, comp>    mset
                                        (
                                            { 
                                                "asdasdasdasd",
                                                "asdasdasd",
                                                "asdasd",
                                                "asd"
                                            }
                                        );
    for(const auto& elem: mset)
        std::cout << elem << " ";
    std::cout << std::endl;
    return 0;
}
http://liveworkspace.org/code/cd1e56...7fb338b8cb965c
Так?
Yandex
Объявления
21.03.2012, 21:05     Структура сравнения контейнера
Ответ Создать тему
Опции темы

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