Russian Qt Forum

Qt => Вопросы новичков => Тема начата: derik от Август 16, 2019, 19:59



Название: сортировка
Отправлено: derik от Август 16, 2019, 19:59
Добрый день!
имеется qstandartitemmodel в которой нужно отсортировать по столбцу (1-2, неважно). т.к. эта операция нужна всего 1 раз - сделал внутри функции пузырьковую сортировку. но она не работает, цифры сортируются не так, от слова совсем. не могу понять где нарукожопил.
с обычным массивом все отлично работает. значения из массива специально вытянул, думал поможет...нет увы.
заранее спасибо!
Код:
    int countRow = DownNode->rowCount() - 1;
    int numcol = 1;

    for (int i = 0; i < countRow - 1; i++) {
        for (int j = 0; j < countRow - i - 1; j++) {
            double d1 = DownNode->data(DownNode->index(j, numcol)).toDouble();
            double d2 = DownNode->data(DownNode->index(j + 1, numcol)).toDouble();
            if (d1 > d2) {
                QList<QStandardItem *> temp_val = DownNode->takeRow(j);
                QList<QStandardItem *> temp_val1 = DownNode->takeRow(j + 1);
                DownNode->insertRow(j, temp_val1);
                DownNode->insertRow(j + 1, temp_val);
            }
        }
    }


Название: Re: сортировка
Отправлено: __Heaven__ от Август 17, 2019, 12:36
вроде так:
Код
C++ (Qt)
for (int j = i + 1; j < countRow; j++)


Название: Re: сортировка
Отправлено: RedDog от Август 17, 2019, 14:23
std::sort  чем не устраивала?


Название: Re: сортировка
Отправлено: derik от Август 17, 2019, 14:50
вроде так:
Код
C++ (Qt)
for (int j = i + 1; j < countRow; j++)


ок. попробую


Название: Re: сортировка
Отправлено: derik от Август 17, 2019, 14:52
std::sort  чем не устраивала?

т.к. программирование скорее хобби и я не программист, то возможно всех мелочей и не знаю. такой вариант я вижу впервые и ни разу не применял, я просто в ассистенте прочитал что все функции сортировки необходимо переопределять. вспомнил. пробывал - он сортирует: 0 1 12 16 2 23 25 и тд и тп.


Название: Re: сортировка
Отправлено: RedDog от Август 17, 2019, 15:04
QCollator::setNumericMode


Название: Re: сортировка
Отправлено: derik от Сентябрь 03, 2019, 20:02
всем спасибо! советы все принял все заработало!!!!