![]() |
|
|
![]()
|
|
| GQU |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 13.2.2011 Репутация: нет Всего: нет |
Не пойму почему не работает сортировка строк по длине Алгоритм примерно такой: 1) Сравниваем все строки с первой 2)Если есть строки короче чем первая, меняем местами первую и которую короче первой 3)На данном этапе на первом месте должна стоять самая короткая строка 4)Теперь все повторяется, только сравниваем все строки со второй и меняем вторую и которая короче второй итд 5)Теперь все повторяется, только сравниваем все строки с третьей до предпоследней Это сообщение отредактировал(а) GQU - 23.6.2012, 01:40 |
|||
|
||||
| Bodro |
|
||||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 27.1.2006 Где: Россия, г. Рязань Репутация: 2 Всего: 4 |
Добрый день!
Во-первых, перепишите свои циклы - вынесите за пределы цикла вычисления:
Это совет по оптимизации. Так, теперь перейдём к вашей проблеме. Вариант №1 - не очень удачный, содержит 2 наших цикла и ещё цикл внутри STL.
Вместо предиката greather можете использовать предикат less или написать свой (если не знаете, то читайте как пишутся функторы). Вариант №2 - сортировка методом пузырька.
И последний вариант - выставить в инспекторе объектов свойство Sorted у ListBox в true. Вот если вас интересует сравнение конкретно по длине, то опять таки, воспользуйтесь сортировкой пузырьком, только сравнивайте не строки, а их длину.
Это сообщение отредактировал(а) Bodro - 23.6.2012, 18:09 |
||||||||
|
|||||||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |