IPB
ЛогинПароль:

2 страниц V < 1 2  
 Ответить  Открыть новую тему 
> Помогите с выбором языка.
сообщение
Сообщение #21


Гость






Цитата
начал учить динамичиские структуры, вроде не сложно но с связями между клетками не очень понятно, особено цикличный двухсвязный список volvo, хотя я понял то что он обьяснил, но код не очень понял.
Почему вопросы здесь по коду не задавал?

Где именно непонятно, что непонятно? Ты ж молчишь, не говоришь ничего, а оказывается ты не до конца разобрался и собрался двигаться дальше. По крайней мере в той теме так написано. Этого делать ни в коем случае нельзя. Пока ты сам не сможешь ту же программу написать без подсматривания в чужой код - значит, не до конца разобрался. Дальше - ни шагу. Рискуешь. "Вроде бы все понятно" и "действительно все понятно" - это разные вещи. Так и будешь недопонимать и делать одни и те же ошибки во всех программах.

Да и вообще, начинать динамические структуры с циклических списков - это не очень правильно. Односвязный нециклический ты уже пробовал делать? Где его реализация? Где реализация двухсвязного нециклического? Не надо бежать вперед слишком быстро, лучше досконально разобраться с более простыми темами, тогда при работе с более сложными будет гораздо проще...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #22


Бывалый
***

Группа: Пользователи
Сообщений: 168
Пол: Мужской

Репутация: -  3  +


volvo, Ну я там картинку поставил. А так, просто неловко каждый раз спрашивать, пробовал сам разобраться.
Вот односвязный нецикличный(код для создания)

new(adding);
readln(Adding^.Info);
Adding^.Next:=nil;
if Root=nil then begin Root:=adding; Q:=adding; end
else Q^.next:=adding; Q:=adding;


Я так делаю.

Сообщение отредактировано: DarkWishmaster -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #23


Гость






Давай все-таки не будем перемешивать тему о новом языке и работу с односвязным списком (все остальные вопросы по списку - в отдельную тему оформляй. И не стесняйся спрашивать, главное для тебя - разобраться в вопросе. На то форум и есть, чтоб показать свой код и спросить, что не так, что где можно исправить, где ошибки). У тебя в коде не все гладко, выполняется лишняя работа, я бы делал так:

   Adding^.Next:=nil;
if Root=nil then Root:=adding else Q^.next:=adding;
Q:=adding; // Это выполняется в любом случае, вне зависимости от Root = nil


И еще одно: лучше давать "говорящие" имена переменным. А то Root - понятно, а вот что такое Q - не совсем. Назвал бы Head и Tail (ну, или Root и Tail хотя бы) - возможностей для недопонимания бы не было в принципе...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #24


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(volvo @ 13.04.2011 16:06) *
(ну, или Root и Tail хотя бы)
если root, то уж top )).
Но, конечно, в списке лучше head & tail. Потому что червяк больше похож на список, чем дерево. Дерево - оно для графов больше..

но на эту тему правда лучше не тут


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

2 страниц V < 1 2
 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 8:10
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name