![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
afanp |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 147 Регистрация: 25.11.2008 Репутация: нет Всего: нет |
совсем уже запутался, не получается удалить узел. пока только если нет правого или левого потомка.
вот отрывок если нет левого потомка. почему-то не удаляется ![]() вернее так удаляется но потом при просмотре какая-то херата, получается ошибка ) Это сообщение отредактировал(а) afanp - 21.3.2009, 17:56 |
|||
|
||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 10 Всего: 33 |
Тяжко мне сейчас думать. Суббота все-же
![]() ![]() -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
zim22 |
|
|||
![]() depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 29 Всего: 69 |
afanp, лови универсальный метод решения:
1) находим ручку 2) находим листик 3) рисуем пошагово, как алгоритм работает 4) много думаем |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
и как подсказка, подумайте на кого в результате указывает предыдущий (относительно удаляемого) элемент ![]() |
|||
|
||||
afanp |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 147 Регистрация: 25.11.2008 Репутация: нет Всего: нет |
спасибо большое за подсказки. буду думать.если че напишу
|
|||
|
||||
afanp |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 147 Регистрация: 25.11.2008 Репутация: нет Всего: нет |
Сделал вот так. Если вдруг что неправильно, подскажите?
|
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
вначале должны провереть первую ветку потом спускаемся дальше, а предыдущий изначально NULL вот поправка :
ну и дальше поправить с учетом вышенаписанного ![]() ![]() Это сообщение отредактировал(а) mes - 22.3.2009, 13:32 |
|||
|
||||
afanp |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 147 Регистрация: 25.11.2008 Репутация: нет Всего: нет |
mes, насколько правильно понял я ваш код, то я могу впринципе обойтись и своим?
<quote="mes"> вначале должны провереть первую ветку потом спускаемся дальше, </quote> немного не понял этого.
здесь же я проверяю все "ярусы" начиная от первого ? разве нет? |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
нет |
|||
|
||||
afanp |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 147 Регистрация: 25.11.2008 Репутация: нет Всего: нет |
mes, спасибо большое ! кажется на уровне теории разобрался. сейчас приду из бассейна и попытаюсь воплотить в жизнь)
|
|||
|
||||
zim22 |
|
|||
![]() depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 29 Всего: 69 |
![]() а что, после бассейна лучше программируется? |
|||
|
||||
afanp |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 147 Регистрация: 25.11.2008 Репутация: нет Всего: нет |
zim22,
да |
|||
|
||||
zim22 |
|
|||
![]() depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 29 Всего: 69 |
![]() эхх. нет бассейна поблизости. пойду воды попью ![]() |
|||
|
||||
afanp |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 147 Регистрация: 25.11.2008 Репутация: нет Всего: нет |
кажется я подошел к самому отвественному моменту - удаление узла с 2мя потомками. Я так думаю, удалять узел, все что справа одно дерево, все что слева - другое. Затем два этих дерева объединять и пытатся всунуть в основное. Пральна?
![]() потом это еще как класс нужно сделать будет, я не думаю что с этим могут быть проблемы, или я неправ? Это сообщение отредактировал(а) afanp - 24.3.2009, 19:21 |
|||
|
||||
mes |
|
||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
вначале вставить одну ветку на место удаленного элемента, а потом в нее вставить другую. ![]() Добавлено через 1 минуту и 49 секунд
кстати учтите, что удаление с одним потомком, это частный случай удаления с двумя и поэтому в конечном коде, не должно быть трех разных подфункций удаления. |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |