25 / 25 / 7
Регистрация: 02.12.2010
Сообщений: 824
|
|||||||||||
1 | |||||||||||
Как создать двусвязный список?19.05.2011, 03:11. Показов 3606. Ответов 16
Метки нет (Все метки)
Собственно... не шарю, как сделать двусвязный! односвязный вроде как получается. Двусвязный как-то и не очень
Конструктор:
0
|
19.05.2011, 03:11 | |
Ответы с готовыми решениями:
16
Как создать двусвязный линейный список? Создать двусвязный список групп факультета, где каждая группа представляет собой односвязный список студентов Создать двусвязный список Создать двусвязный список символов |
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||||||||||||||||
19.05.2011, 03:56 | 2 | |||||||||||||||
а последующие узлы просто берут уже из имеющихся узлов нужные указатели
0
|
25 / 25 / 7
Регистрация: 02.12.2010
Сообщений: 824
|
|
19.05.2011, 04:07 [ТС] | 3 |
первые две вставки это совет мне, как лучше сделать?
да спасибо, вспомнил это функцию. а вот третья... что конкретно делаем? забыл сказать, что список еще и кольцевой
0
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|
19.05.2011, 04:53 | 4 |
тогда только head
при добавлении первого элемента его prev и next должны указывать на него же при добавлении последующих отсчёт идёт от head когда элемент добавляется, указателем на предыдущий является адрес элемента, за которым он вставляется указателем на следующий элемент является адрес элемента, который следовал после элемента, за которым вставляется новый в старых элементах тоже нужно поменять указатели next на новый и prev на новый
1
|
25 / 25 / 7
Регистрация: 02.12.2010
Сообщений: 824
|
||||||
19.05.2011, 05:26 [ТС] | 5 | |||||
на что должен указывать указатель ->prev? для второго head О.К.
для третьего? для 4го? для 100го?
0
|
0 / 0 / 0
Регистрация: 17.05.2011
Сообщений: 10
|
|||||||||||
19.05.2011, 08:15 | 7 | ||||||||||
0
|
25 / 25 / 7
Регистрация: 02.12.2010
Сообщений: 824
|
|
19.05.2011, 15:30 [ТС] | 9 |
это вообще к чему?
ребят понимаете... программирование такая штука... )) каждый видит все по своему)) я понимаю что список должен выглядеть так, как вы показали. Но не напишешь же буквы от А до Я и для каждой A ->prev = Я, B->prev = A!!! и т.д. нужна формула что ли какая-то как написать конструктор для двусвязного колцевого списка и как написать метод добавления элемента в список после текущего. Добавлено через 1 минуту Не не. Я не прошу написать мне кодом. Сам хочу попытаться понять! Но пока тут и не пахнет какими-то общими формулами! А именно они и нужны для того чтобы понять просто. Я понимаю как сделать первый элемент. Не понимаю как сделать 2 3 4 5 и 199 и 289
0
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||||||
20.05.2011, 02:40 | 10 | |||||
Сообщение от VladSharikov
Сообщение от VladSharikov
вместо вот этого
go_next() какой-то (нужно просто указатель переставлять)
0
|
25 / 25 / 7
Регистрация: 02.12.2010
Сообщений: 824
|
||||||
20.05.2011, 03:16 [ТС] | 11 | |||||
0
|
25 / 25 / 7
Регистрация: 02.12.2010
Сообщений: 824
|
||||||
20.05.2011, 04:05 [ТС] | 14 | |||||
вот так вот.. acess я не понимаю что этим кодом вы мне хотите сказать Добавлено через 3 минуты в шапке темы посмотрите как я сделал основу списка. вас это устраивает?? быть может вы говорите как сделать для другой основы Добавлено через 35 секунд то что вы отписал и D-next = B получилось неверно
0
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|
20.05.2011, 10:47 | 15 |
Сообщение от VladSharikov
Сообщение от VladSharikov
Сообщение от VladSharikov
список кольцевой - должен быть либо head, либо position
Сообщение от VladSharikov
0
|
25 / 25 / 7
Регистрация: 02.12.2010
Сообщений: 824
|
||||||
20.05.2011, 16:02 [ТС] | 16 | |||||
тэкс....
я и пытаюсь себе представить что делает ваш код. но вы же не напишите D и B прямо в коде так? мы вставляем D(новый эл.) после B(текущ. позиция), так? я заменил B на position, D на new_node.
обратный вывод такой. 1 3 1(список из 3х эл) или 3 1 3. прямой вывод такой.... 1 1 3.
0
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|
21.05.2011, 06:27 | 17 |
Сообщение от VladSharikov
Код
A <-> B <-> C элемент D вставляется за B D->prev = B D->next = D->prev->next D->next->prev = D A <-> B <-> D <-> C A <-> B - узел A указывает на узел B, узел B указывает на узел A элемент D, который вставляется, естественно создаётся тут показано, как у него указатели выставить
Сообщение от VladSharikov
Сообщение от VladSharikov
wiki. кольцевой список
0
|
21.05.2011, 06:27 | |
21.05.2011, 06:27 | |
Помогаю со студенческими работами здесь
17
Создать двусвязный список с простыми числами Создать двусвязный список согласно условию Создать двусвязный список и найти в нем максимум Создать двусвязный список состоящий из вещественных чисел Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |