|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.03.2013, 21:41 | #1 |
Форумчанин
Регистрация: 07.05.2011
Сообщений: 169
|
Алгоритм сортировки, быстрый, да бесконечный
Добрый вечер, уважаемые Коллеги!
И всё бы ничего, да вот покоя не даёт такое слово, как "курсовая работа". Собственно, дело всё в быстрой сортировке. Кусок кода, который верно работает (т.е., сортирует): Код:
Буду очень благодарна, если вы мне сможете помочь! Последний раз редактировалось Fanyuus; 22.03.2013 в 08:53. Причина: ошибка в коде - имена переменных |
21.03.2013, 21:48 | #2 |
C/C++, Java
Участник клуба
Регистрация: 28.03.2012
Сообщений: 1,680
|
Вы имеете в виду
Код:
Попробуйте в ручную на листе бумаги произвести эту сортировку, думаю некоторые моменты станут понятней.
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости" Сложность - враг простоты и удобства! |
21.03.2013, 21:52 | #3 |
Форумчанин
Регистрация: 07.05.2011
Сообщений: 169
|
Bugrimov,
Код:
Код:
Воооот... есть идеи "почему так логично"?) |
22.03.2013, 00:01 | #4 | |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Цитата:
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
|
22.03.2013, 08:51 | #5 |
Форумчанин
Регистрация: 07.05.2011
Сообщений: 169
|
Ойй, простите - старая опечатка
*дублированные буквы убрать нужно |
22.03.2013, 09:12 | #6 |
C/C++, Java
Участник клуба
Регистрация: 28.03.2012
Сообщений: 1,680
|
В чем вопрос??? Почему так, а не иначе.
Когда я изучал эти сортировки, сначала все проделывал на бумаге, что бы иметь представление что делает программа... И Вам рекомендую.
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости" Сложность - враг простоты и удобства! |
22.03.2013, 09:19 | #7 | |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
Цитата:
Хотя... Я Вам сам проиллюстрирую: Массив делится пополам (mid), счетчики идут слева (i) и справа (j). Если убрать "=" из условия цикла, то по достижении середины массива i перейдет в правую половину, а j - в левую - и только тогда цикл прекратится, так как условие i<j не выполнится. А следующее условие if i<=j в таком случае вообще не выполняется. И наоборот - в момент остановки цикла i=j, а вы из условие это самое "=" убираете - верно ли в таком случае if i<j?
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Последний раз редактировалось Sciv; 22.03.2013 в 09:24. |
|
22.03.2013, 09:39 | #8 |
Форумчанин
Регистрация: 07.05.2011
Сообщений: 169
|
Sciv, выходит, от этого равно не избавиться просто так?
Так, что.то не совсем поняла: последнее - если там i=j, то ИФ -> нет -> нет перестановки. Или я не правильно говорю? Хм, нет, всё равно не могу понять, где в условии ошибка. *попытка номер два - ошибка возникает, когда i и j будут равными, из-за двух ваилов внутри? |
22.03.2013, 09:55 | #9 | |||
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
Цитата:
Цитата:
Цитата:
Вспомните свой вопрос - почему все глючит, когда убираем равно? Следовательно, как раз при условиях <= все работает правильно. Встречный вопрос - а чего Вам так приспичило от этого "равно" избавляться?
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
|||
22.03.2013, 10:20 | #10 |
C/C++, Java
Участник клуба
Регистрация: 28.03.2012
Сообщений: 1,680
|
Золотые слова.... Отзыв обязательно напишу..
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости" Сложность - враг простоты и удобства! |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Алгоритм сортировки | BarsRus | Помощь студентам | 3 | 03.06.2010 16:11 |
Самый быстрый вид сортировки массива | Warnes | Свободное общение | 42 | 06.12.2009 16:02 |
самый быстрый метод сортировки, который расположит в порядке возврастания 50.000 чисел типа real | Rusl92 | Помощь студентам | 8 | 21.11.2009 20:50 |
Быстрый алгоритм для вычисления синуса | RIO | Помощь студентам | 10 | 17.12.2007 14:33 |
Предложите самый быстрый алгоритм! | Gambler | Общие вопросы Delphi | 6 | 26.12.2006 22:44 |