![]() |
|
Модераторы: bsa |
![]()
|
|
| marsh123 |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 22.6.2008 Репутация: нет Всего: нет |
Здравствуйте. Очень надеюсь на Вашу помощь, так как не успеваю закрыться до сессии.
Нужно написать сортировку дека, дек реализован на кольцевом буфере (но это не важно, преподаватель сказал, что в сортировке слиянием я имею право использовать только функции push, pop, len). Язык СИ. Вот, собственно, функция (закомментировал, чтобы Вам была ясна моя логика):
А вот, собственно, функция слияния деков: deck_merge(deck *, deck *, deck *) - слияние первых двух деков в третий.
Вот, собственно вывод программы:
там сначала создается дек из 5 элементов, потом они заталкиваются слева (ключ и значение), потом печать, а при вызове сортировки она проходит по принтфам для дебага и выдает, что не может вытолкнуть элемент из пустого дека, хотя по идее он там не должен пытаться что-то толкать из пустого дека, я в замешательстве Помогите пожалуйста разобраться, заранее спасибо. Модератор: улучшил читаемость сообщения Это сообщение отредактировал(а) bsa - 22.5.2011, 22:10 |
||||||
|
|||||||
| marsh123 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 22.6.2008 Репутация: нет Всего: нет |
Разобрался, криво работала не сама сортировка, а функция слияния deck_merge, вот исправленная версия, может кому-то пригодится:
|
|||
|
||||
![]()
|
| Правила форума "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. |