|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.05.2012, 18:44 | #1 |
Пользователь
Регистрация: 12.05.2012
Сообщений: 22
|
Двусвязный Список.
Здравствуйте! Подскажите пожалуйста,что означает строка tail->prev->next = pNode; в добавлении элемента в конец списка,зачем писать tail->prev->next = pNode, почему нельзя просто tail->prev = pNode ?
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// main Код:
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// dlist Код:
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// h Код:
Последний раз редактировалось ACE Valery; 13.05.2012 в 21:28. |
12.05.2012, 20:01 | #2 | |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Цитата:
tail->prev = pNode может иметь, а может и не иметь реализацию "next". В другом случае, могут не совпадать типы возвращаемых значений. В третьем, с кодом разбираться не стал (не правильно оформлен) и смеющаяся строка List::Node::Node(int dta)ata(dta), сильно сбивает с мысли.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
|
12.05.2012, 20:04 | #3 | |
Пользователь
Регистрация: 12.05.2012
Сообщений: 22
|
Цитата:
|
|
12.05.2012, 21:52 | #4 |
Пользователь
Регистрация: 09.08.2010
Сообщений: 48
|
Происходит вставка в конец двусвязного списка, то есть между последний значащим элементом и фиктивным элементом tail в конце списка. tail->prev это последний значащий элемент списка. Так как после него должен встать новый элемен pNode, полю next элемента tail->prev присваем pNode. Соответственно tail->prev = pNode это ссылка с фиктивного элемента на новый элемент, вставляемый перед tail
|
12.05.2012, 22:30 | #5 |
Пользователь
Регистрация: 12.05.2012
Сообщений: 22
|
Блин!Завтра все переварю,поздно уже!Здесь насамом деле без рисунка не понятно,с ним правдо тоже!)))Спасибо!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Двусвязный список | Даsha | Помощь студентам | 3 | 26.06.2011 11:45 |
Двусвязный список | decantnik | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 09.05.2011 00:58 |
Двусвязный список | Work Group | Паскаль, Turbo Pascal, PascalABC.NET | 12 | 13.07.2010 01:44 |
двусвязный список | klykovka | Помощь студентам | 8 | 22.05.2010 18:58 |
двусвязный список на си++ | mizantrop32 | Общие вопросы C/C++ | 0 | 18.05.2010 17:45 |