crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> QMap + qsort
breeve
  опции профиля:
сообщение 11.5.2011, 1:15
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 188
Регистрация: 26.12.2009
Пользователь №: 1336

Спасибо сказали: 9 раз(а)




Репутация:   1  


Не пойму в чем дело пытаюсь отсортировать QMap<QChar, int> по int.
Как я понимаю qsort как раз то что надо. Но столкнулся с множеством ошибок.
И причем все ошибки указывают на QAlgorithms.h
Code
QMap<QChar, int> map;
    for(int i = 0; i < text.size(); i++)
    {
        if(!text.at(i).isLetter())
            continue;
        QChar ch = text.at(i).toUpper();
        if(!map.contains(ch))
        {
            map.insert(ch, 1);
        }
        else
        {
            map[ch]++;
        }
    }
    qSort(map);

Эскизы прикрепленных изображений
Прикрепленное изображение
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Гость_madzohan_*
сообщение 24.11.2011, 23:26
Сообщение #2





Гости








    


Кто сказал что там нет вставки в N позицию? - Просто передвигаешь итератор к N, а дальше:
QMap Public Functions: iterator insert ( const Key & key, const T & value )
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ssoft
  опции профиля:
сообщение 25.11.2011, 8:39
Сообщение #3


Участник
**

Группа: Участник
Сообщений: 130
Регистрация: 17.2.2010
Из: Москва
Пользователь №: 1470

Спасибо сказали: 30 раз(а)




Репутация:   3  


Цитата(madzohan @ 25.11.2011, 0:26) *
Кто сказал что там нет вставки в N позицию? - Просто передвигаешь итератор к N, а дальше:
QMap Public Functions: iterator insert ( const Key & key, const T & value )


И нифига, будет вставка в контейнер и возврат итератора, куда была произведена вставка.

QMap - это отображение одного типа данных в другой, использующий упорядочивание элементов по ключу, его нельзя отсортировать по своему.

Если хочется применить упорядочивание, то необходимо преобразовать QMap< QChar, int > хотя бы в QList< QPair< QChar, int > >.
Написать функцию проверки на меньше для QPair< QChar, int > и использовать ее в void qSort ( RandomAccessIterator begin, RandomAccessIterator end, LessThan lessThan ).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.11.2024, 15:38