![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Sergio |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 843 Регистрация: 28.7.2006 Где: Solar System-> Earth Репутация: 0 Всего: 1 |
Здраствуйте. Не имогу понять как роботает сортировка вставками
Сортировка вставками - простой и достаточно эффективный метод сортировки, при котором элементы данных используются в качестве ключей для сравнения. Алгоритм сначала упорядочивает элементы X[0] и X[1], вставляя X[1] перед X[0], если X[0] > X[1]. Затем оставшиеся элементы данных по очереди вставляются в этот упорядоченный набор. После i-й итерации элемент X[i] оказывается в своей правильной позиции и элементы от X[0] до X[i] уже отсортированы. |
|||
|
||||
| BreakPointMAN |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 15.9.2004 Где: Saratov Репутация: 14 Всего: 24 |
Это сообщение отредактировал(а) BreakPointMAN - 24.10.2006, 22:40 -------------------- "Разруха не в клозетах, а в головах." © Ф.Ф. Преображенский (М.Булгаков, "Собачье сердце") |
|||
|
||||
| Sergio |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 843 Регистрация: 28.7.2006 Где: Solar System-> Earth Репутация: 0 Всего: 1 |
Спасибо большое. Но я всё ровно не могу "роздуплиться"
P.S. Я понял про пузырковую сортировку, а эту сортировку не пойму... Это сообщение отредактировал(а) Sergio - 24.10.2006, 22:54 |
|||
|
||||
| BreakPointMAN |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 15.9.2004 Где: Saratov Репутация: 14 Всего: 24 |
int, например... Добавлено @ 22:58
Сначала почитай, а потом задавай конкретные вопросы. А по вышеприведенным мной ссылкам информации более, чем достаточно, и вряд ли кто-то сумеет объяснить тебе лучше. Это сообщение отредактировал(а) BreakPointMAN - 24.10.2006, 22:59 -------------------- "Разруха не в клозетах, а в головах." © Ф.Ф. Преображенский (М.Булгаков, "Собачье сердце") |
|||
|
||||
| Rockie |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: 8 Всего: 31 |
Sergio, думаю имеется ввиду любой тип, к примеру int или double. где-то в коде возможно что-нибудь такое
-------------------- Чтобы иметь большой гардероб - надо иметь большой гардероб. |
|||
|
||||
| DukeCpp |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 27.2.2006 Где: St.Petersburg Репутация: нет Всего: 1 |
ну уж искренне верю, что
|
||||||
|
|||||||
| zhenium |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 16.10.2006 Репутация: нет Всего: 2 |
Продолжу тему.
Люди, посмотрите данный фрагмент кода. Это типа сортировка вставками. Только вот сортирует она как-то по левому! Была дана на лекции как пример. Поэтому и примера-то толкового нет. Помогите разобраться, в чём здесь ошибка... Очень нужно...
|
|||
|
||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
А так кинь весь код, а то я не очень понимаю что есть что. Это сообщение отредактировал(а) Xenon - 6.11.2006, 23:29 |
|||
|
||||
| zhenium |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 16.10.2006 Репутация: нет Всего: 2 |
Вот весь код:
Т.е. я привёл не весь код, а только его первую половину, а дальше идёт вывод таблицы и т.д. Думаю, это роли никакой не даст. А вот сортирует она неправильно. Нужно по возрастанию и убыванию. И ещё ELEM - кол-во элементов в массиве. P.S. Весь исходник - несколько файлов, поэтому привёл только необходимый. Заранее благодарю!!! |
|||
|
||||
| Rockie |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: 8 Всего: 31 |
zhenium, ну и выложил бы несколько файлов. У тебя же там не >10 000 строк. Или ты эту сортировку продаешь? надеюсь buf это указатель? В противном случае так со строковыми массивами не работают.
Здесь ты в цикле выполняешь одно и то же. добавлено: да и вообще - что происходит в этом цикле? Что необходимо делать? Если ctr_3 больше ctr_2, то цикл вообще не сработает, если ctr_3 меньше ctr_2 то цикл будет работать вплоть до выхода за предел int-а. Это сообщение отредактировал(а) Rockie - 7.11.2006, 00:57 -------------------- Чтобы иметь большой гардероб - надо иметь большой гардероб. |
||||
|
|||||
| zhenium |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 16.10.2006 Репутация: нет Всего: 2 |
В том-то и дело - компиляция идёт просто гладко. Никаких предъяв у него ко мне нет...
buf - не указатель, а структура-буфер.
Это я одну структуры в другую копирую. Вообще в структуре 5 полей. Надо сортировать по строковому полю. Такая фигня прошла с помощью сортировки выбором, а вот со вставкой я и засел... P.S. А всю эту прогу я продавать никак не собирался! |
|||
|
||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
Rockie, а, ну да ... я просто мельком глянул
|
|||
|
||||
| zhenium |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 16.10.2006 Репутация: нет Всего: 2 |
>>> Xenon
Если какие-то непонятия, то ты спроси, я попробую объяснить... |
|||
|
||||
| Xela |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 2.6.2005 Репутация: нет Всего: нет |
считаем что после i-й итерации алгоритм ставит элементы Х[0],...,X[i-1] на t1,...,ti - е места в массиве Тогда подмассив состоящий из элементов стоящих на t1,...,ti местах основного массива есть упорядоченный массив
|
|||
|
||||
| zhenium |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 16.10.2006 Репутация: нет Всего: 2 |
Ну разве никто не может помочь мне с моим примером???
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |