![]() |
|
Модераторы: bsa |
![]()
|
|
| Syltan |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 301 Регистрация: 31.8.2009 Репутация: -1 Всего: -2 |
Разбираюсь с алгоритмом быстрой сортировки, вроде уже разобрался но не до конца. НЕ могу понять вот эти 2 строки:
Что они делают, как их понять? Вот весь исходник:
|
||||
|
|||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: нет Всего: 130 |
Как их понять? Ну, цикл до тех пор, пока значение элемента массива a с индексом i меньше значения переменной p. Ну, о второй строчке догадаешься.
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Syltan |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 301 Регистрация: 31.8.2009 Репутация: -1 Всего: -2 |
А за ним i++ тоесть перейти на следующий элемент масива?
А j-- тогда что?* |
|||
|
||||
| zim22 |
|
|||
|
depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 29 Всего: 69 |
очень просто. пошаговая отладка программы + листик + ручка. |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: нет Всего: 130 |
Это увеличение значения переменной i. Это сообщение отредактировал(а) Данкинг - 21.9.2009, 21:51 -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| IKM2007 |
|
|||
![]() Зима близко ![]() ![]() Профиль Группа: Участник Сообщений: 702 Регистрация: 26.4.2008 Где: olmedreca Репутация: 3 Всего: 40 |
Syltan, читай книжки.
Добавлено @ 21:52 или если лень читать книги, используй гугл и узнаешь какой оператор для чего. Это сообщение отредактировал(а) IKM2007 - 21.9.2009, 21:52 -------------------- "К чёрту обстоятельства, я создаю возможности." Брюс Ли |
|||
|
||||
| Syltan |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 301 Регистрация: 31.8.2009 Репутация: -1 Всего: -2 |
Как запустить пошаговую отладку студия 2005?
Это сообщение отредактировал(а) Syltan - 21.9.2009, 22:10 |
|||
|
||||
| 586 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 8 Всего: 146 |
||||
|
||||
| Syltan |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 301 Регистрация: 31.8.2009 Репутация: -1 Всего: -2 |
Следую вашей инструкции, получаю на экран вот такое при запуске, как теперь я смогу проследить действия программы.
Присоединённый файл ( Кол-во скачиваний: 19 )
clip_image002.jpg 40,83 Kb |
|||
|
||||
| iRUSH |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 7.9.2009 Репутация: нет Всего: нет |
В данном случае смею предположить что исмользуеться алгоритм quick sort почитать можно тут
Если ты внимательно вкуришь в написаное(то что по ссылке), то сразу же догадаешься и найдешь решение своей проблеме, а именно:
Тут мы берем грубо говоря середину массива(опорную точку по алгоритму), далее:
тут как мы видим идет два цикла, первый от начала к опорной точке, второй наоборот от конца к опорной точке.... Ну а далее по алгоритму действуем... |
||||
|
|||||
| 586 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 8 Всего: 146 |
Syltan, поставь BreakPoint (Debug->Toggle Breakpoint) на функции main, и запусти отладку (Debug->Start Debugging).
И убедись, что версия проекта Debug а не релиз. |
|||
|
||||
| Syltan |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 301 Регистрация: 31.8.2009 Репутация: -1 Всего: -2 |
Спасибо,ссылочку я прочитал. Вот смотрите,строка:
Этим мы производим сравнение каждого элемента масива с серединой масива, выполняя замену,тоесть числа,меньшие середины масива, переходят в левую сторону. Но вот эта строка:
Происходит сравнение общего количества элементов масива с серединой масива,тоесть если масив сосстоит из 6 элементов,тогда будет каждый элемент с 6, с конца, спускаясь в низ, сравниваться с серединой масива? Это сообщение отредактировал(а) Syltan - 22.9.2009, 00:20 |
||||
|
|||||
| ller |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 4.8.2008 Где: г. Таганрог Репутация: 2 Всего: 4 |
||||
|
||||
| zim22 |
|
|||
|
depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 29 Всего: 69 |
мне кажется эта версия quicksort будет легче для понимания
|
|||
|
||||
| Syltan |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 301 Регистрация: 31.8.2009 Репутация: -1 Всего: -2 |
Проверьте, правильно ли я пояснил строку:
Происходит сравнение общего количества элементов масива с серединой масива,тоесть если масив сосстоит из 6 элементов,тогда будет каждый элемент с 6, с конца, спускаясь в низ, сравниваться с серединой масива? |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |