Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.04.2009, 13:19   #1
Serp
Пользователь
 
Регистрация: 13.04.2009
Сообщений: 12
По умолчанию Двусвязные списки

Я не прошу решить мне какую то задачу, просто прошу написать как создать двусвязный(или кольцевой) список и 2 процедуры, 1 с головы другая с хвоста проходят этот список.
Если у кого то есть ссылка как сделать такое буду очень признателен. Просмотрел несколько форумов и книг нигде не смог найти такого примера, преподователь в институте объяснил только как создать первый элемент, но этого мало для задачи.
Serp вне форума Ответить с цитированием
Старый 13.04.2009, 13:22   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
объяснил только как создать первый элемент
И как он вас учит? Выкладывай.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.04.2009, 13:42   #3
Serp
Пользователь
 
Регистрация: 13.04.2009
Сообщений: 12
По умолчанию

Он открывает учебник и читает...при этом в односвязных списках он даже рассказал не только про создание первого элемента, но и вставку элемента в голову.
Весь год сам разбирался в паскале, а вот со списками щас напряг...
{--------------------------}
Program spisok;
uses crt;
type
Srec = ^rec;
rec = record
int: Integer;
Prev: Srec;
Next: Srec;
end;
var
First,Cursor,Last: Srec;
i: Integer;
ch: char;

procedure proc(first : Srec);
var
p : Srec;
begin
p:=First;
while p<>nil do
begin
write(p^.int);
p:=p^.next;
end;
end;

begin
clrscr;

new(First);
First^.Int := 1;
First^.Next := nil;
First^.Prev := nil;

i:=1;
repeat
i:=i+1;
new(Cursor);
Cursor^.Int := i;
Cursor^.Next := First;
Cursor^.Prev := nil;
First^.Prev := Cursor;
First := Cursor;
writeln(i);
readkey;
ch:=readkey;
until CH='q';

proc(first);
end;

у меня вот так получилось написать...дальше не могу
И кажеться что я что то напутал с Next и Prev или процедуру неправильно написал

Последний раз редактировалось Serp; 13.04.2009 в 13:46.
Serp вне форума Ответить с цитированием
Старый 14.04.2009, 16:13   #4
Serp
Пользователь
 
Регистрация: 13.04.2009
Сообщений: 12
По умолчанию

Видимо на этом форуме никто не знает списки...
Serp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
с++ списки Blizzz Общие вопросы C/C++ 3 04.12.2008 21:19
Списки Bremlin Microsoft Office Excel 10 04.11.2008 15:13