|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.01.2012, 13:56 | #1 |
Регистрация: 22.11.2011
Сообщений: 6
|
Двунаправленный список
Подскажите пожалуйста, как в общем виде реализовать следующие функции в двунаправленном списке?
- добавление элемента - удаление - поиск Заранее спасибо |
10.01.2012, 14:14 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
1) на форуме были примеры, посмотрите реализацию
2) добавление элемента - зависит от того, куда происходит добавление - в начало списка, в середину, в конец списка. (обычно имеются две дополнительные переменные - на "голову" списка и на "хвост" списка) А общий подход - коррекция указателей предыдущего (перед вставляемым) и последующего (после вставляемого) элементов списка. удаление - то же самое - коррекция указателей предыдущего (перед удаляемым) и последующего (после удаляемого) элементов списка таким образом, чтобы исключить удаляемый элемент из цепочки. После чего производится освобождение занимаемой им памяти. поиск - обычно это простой перебор всех элементов в списке и сравнение каждого элемента с заданным эталоном поиска. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
двунаправленный список | Максикок | Помощь студентам | 3 | 02.05.2011 10:34 |
Двунаправленный список | jennya | Общие вопросы C/C++ | 6 | 05.10.2010 01:23 |
Двунаправленный список | grave123 | Общие вопросы C/C++ | 1 | 08.03.2010 10:44 |
Двунаправленный список | F_A_N_Alex | Помощь студентам | 0 | 01.10.2009 00:35 |
Двунаправленный список | Chudo4258 | Помощь студентам | 6 | 09.05.2009 07:16 |