![]() |
|
|
![]()
|
|
| Abbath1349 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 214 Регистрация: 16.6.2010 Репутация: нет Всего: нет |
Пытаюсь реализовать подсчет сравнений в quickSort испробовал 2 варианта первый подсчитывать перед сравнением(comparisons) второй подсчитывать количество элементов(counter), но оба выдают неправильный результат подскажите где ошибка?
|
|||
|
||||
| disputant |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 210 Регистрация: 28.11.2011 Репутация: 2 Всего: 3 |
Что-то вы странное суммируете, как на мой взгляд... Например, откуда это: counter+=right-left;?
Я бы все сравнения реализовал - если уж так приспичило считать И - во обязательно именно ваш код? Можно легко посчитать количество вызовов в библиотечной сортировке - sort или qsort - просто дописав компаратор... |
|||
|
||||
| Abbath1349 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 214 Регистрация: 16.6.2010 Репутация: нет Всего: нет |
counter+=right-left; Это сколько элементов будет сравниваться этот вариант наиболее быстрый. Да именно в этом коде. Если подсчитывать количество вывозов функции сравнения ответ будет такой же. Например тест 9, 6, 3, 7, 2, 4 должен выдавать 11 у меня считает 13. |
|||
|
||||
| disputant |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 210 Регистрация: 28.11.2011 Репутация: 2 Всего: 3 |
Что значит "Должно выдавать"? Как написан код, так и выдает. Руками прогонять пробовали?
Кстати, реально их 22 - вы же еще постоянно сравниваете left и right в sort |
|||
|
||||
| Abbath1349 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 214 Регистрация: 16.6.2010 Репутация: нет Всего: нет |
код был неправильным ошибку нашол) функция partition должна возвращать i-1 |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |