imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 08.12.2003, 14:54     # 1
Rifle
Junior Member
 
Аватар для Rifle
 
Регистрация: 25.11.2003
Адрес: Киев
Сообщения: 62

Rifle Путь к славе только начался
Question Помогите со "Связанными списками" в Pascal

буду очень признателен тому, кто может помочь с программой на Pascal с использованием связанных списков. Програма должна быть неочень сложной. А просто показывать суть связанных списков. Заранее благодарен!
Rifle вне форума  
Старый 08.12.2003, 15:19     # 2
dr-evil
::VIP::
 
Аватар для dr-evil
 
Регистрация: 17.02.2002
Адрес: /home/dr-evil
Пол: Male
Сообщения: 2 212

dr-evil Сэнсэйdr-evil Сэнсэйdr-evil Сэнсэйdr-evil Сэнсэйdr-evil Сэнсэйdr-evil Сэнсэйdr-evil Сэнсэйdr-evil Сэнсэйdr-evil Сэнсэйdr-evil Сэнсэйdr-evil Сэнсэйdr-evil Сэнсэйdr-evil Сэнсэй
опиши что конкретно ты не понимаешь
__________________
Сеть - это диагноз... а сисадмин - состояние души.
Питер! Все на сходку!!! | Обзоры порталов. Добавь свою любимую систему!
dr-evil вне форума  
Старый 08.12.2003, 15:40     # 3
Rifle
Junior Member
 
Аватар для Rifle
 
Регистрация: 25.11.2003
Адрес: Киев
Сообщения: 62

Rifle Путь к славе только начался
Связанный список - список (структура данных), элементы которого не обязательно расположены в памяти последовательно. Доступ к следующему элементу осуществляется с помощью указателя, хранящегося в предыдущем элементе списка. У последнего элемента указатель имеет специальное значение, по которому определяется конец списка. Список может быть двунаправленным, когда каждый его элемент содержит ссылки как на следующий, так и на предшествующий элементы.
Вот на ету тему мне нужна простенькая програма
__________________
Честь - это награда, присуждаемая за добродетель...
Rifle вне форума  
Старый 08.12.2003, 15:52     # 4
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
Код:
Type
    Link = ^Node;
    Node = record
        Data: integer;
        Next: Link;
    End;

Var
    Head, z: link;

procedure list_initialize;
begin
    new( head ); 
new( z );
    head^.next := z; 
z^.next := nil;
end;

procedure insert_after( v : integer; t : link );
var 
x : link;
begin
    new(x);
    x^.data := v; 
x^.next := t^.next;
    t^.next := x;
end;

procedure delete_next( t : link );
var
    del: link;
begin
del := t^.next;
t^.next := t^.next^.next;
dispose(del);
end;
RaZEr вне форума  
Старый 08.12.2003, 17:27     # 5
Rifle
Junior Member
 
Аватар для Rifle
 
Регистрация: 25.11.2003
Адрес: Киев
Сообщения: 62

Rifle Путь к славе только начался
Это несовсем то что я имел ввиду. Насколько я понимаю это пример работы с указателями. Если можно чтонить по связанным спискам.
__________________
Честь - это награда, присуждаемая за добродетель...
Rifle вне форума  
Старый 08.12.2003, 17:42     # 6
Saruman
::VIP::
 
Аватар для Saruman
 
Регистрация: 12.11.2002
Адрес: Nicosia, Cyprus
Сообщения: 1 285

Saruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman Гуру
Rifle
А связанный список, вообще-то, через эти самые указатели и реализуется.
__________________
"If people only knew how hard I work to gain my mastery, it wouldn't seem so wonderful at all." Michelangelo Buonarroti
Saruman вне форума  
Старый 08.12.2003, 17:50     # 7
dr-evil
::VIP::
 
Аватар для dr-evil
 
Регистрация: 17.02.2002
Адрес: /home/dr-evil
Пол: Male
Сообщения: 2 212

dr-evil Сэнсэйdr-evil Сэнсэйdr-evil Сэнсэйdr-evil Сэнсэйdr-evil Сэнсэйdr-evil Сэнсэйdr-evil Сэнсэйdr-evil Сэнсэйdr-evil Сэнсэйdr-evil Сэнсэйdr-evil Сэнсэйdr-evil Сэнсэйdr-evil Сэнсэй
Rifle
---------------------- ---------------------- ----------------------
| data | pointer | -> | data | pointer | -> | data | nil |
---------------------- ---------------------- ----------------------


вот структура простейшего однонаправленного списка
__________________
Сеть - это диагноз... а сисадмин - состояние души.
Питер! Все на сходку!!! | Обзоры порталов. Добавь свою любимую систему!
dr-evil вне форума  
Старый 08.12.2003, 18:02     # 8
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
Цитата:
Это несовсем то что я имел ввиду. Насколько я понимаю это пример работы с указателями. Если можно чтонить по связанным спискам.
Давай начнем с того, почему это "несовсем то что я имел ввиду" ...
RaZEr вне форума  
Старый 08.12.2003, 18:19     # 9
Rifle
Junior Member
 
Аватар для Rifle
 
Регистрация: 25.11.2003
Адрес: Киев
Сообщения: 62

Rifle Путь к славе только начался
Ну связанный список реализуется через указатели ето да! Но в том коде что ты написал происходит просто помешение и удаление значения из стека. Или я что-то нетак понял???
__________________
Честь - это награда, присуждаемая за добродетель...
Rifle вне форума  
Старый 08.12.2003, 19:27     # 10
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
Вообщем с тобой все ясно. Что я могу сказать - жди пока кто-нибудь запостит код попадающий именно под твое представление о связанных списках.
RaZEr вне форума  
Старый 08.12.2003, 19:57     # 11
Rifle
Junior Member
 
Аватар для Rifle
 
Регистрация: 25.11.2003
Адрес: Киев
Сообщения: 62

Rifle Путь к славе только начался
__________________
Честь - это награда, присуждаемая за добродетель...
Rifle вне форума  
Старый 10.12.2003, 14:32     # 12
someone312002
Junior Member
 
Регистрация: 17.12.2002
Адрес: [EST], Tallinn
Сообщения: 120

someone312002 Путь к славе только начался
Эт конечно всё интересно (списки) только одна заковыка: может статься так, что у этого списка будет не просто "лестница", а "дерево лестниц". О когда ты попляшешь.
читал где-то год назад про организацию хранения данных, структуированных данных, если мне моя память не изменяет, то ищи "дерево ноды оракл" в яндексе, там тебе будет всё (ВСЁ) объяснено. Постараюсь и я найти, а пока - прочти мой пост и пошевели руками по клаве, не найдёшь - кинь сюда сообщение - помогу найти
__________________
"я не волшебник - я только учусь..." (c)
...а зовут меня Олег...
someone312002 вне форума  
Старый 11.12.2003, 20:55     # 13
CEO
Full Member
 
Аватар для CEO
 
Регистрация: 31.08.2003
Адрес: где-то между Марсом и Юпитером
Сообщения: 998

CEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собой
Rifle
Цитата:
Насколько я понимаю это пример работы с указателями. Если можно чтонить по связанным спискам.
Каждый элемент списка представляет собой запись, состоящую из двух частей. Первая часть -- иняормационная. Вторая часть обеспечивает связь со следующим элементом списка.

Вот, например один из возможных вариантов списка -- программа, создающая и читающая список чисел:

type p_subject=^subject;
subject=record
number:longint;
next: p_subject;
end;
var top: p_subject;
run: p_subject;
buf: longint;
i:integer;
begin
for i:= 1 to 5 do
begin
buf:=i;
new(run);
run^.number:=buf;
run^.next:=top;
top:=run;
end;
while run<>nil do begin
writeln(run^.number);
run:=run^.next;
end;
end.

Из списка можно удалить любой элемент, можно так же и добавить элемент в любое место списка. Существует так же возможность сортировать данные в списке по какому-либо признаку.
__________________
Старые игры раздают здесь
CEO вне форума  
Старый 12.12.2003, 13:54     # 14
aleks_k2
Junior Member
 
Регистрация: 13.09.2002
Сообщения: 105

aleks_k2 Нимб уже пробиваетсяaleks_k2 Нимб уже пробивается
Цитата:
CEO
Суть в принците правильная, но не хватает инициализации Top.
и из-за отсутствия отступов трудно что-либо понять.


type p_subject=^subject;
subject=record
number:longint;
next: p_subject;
end;
var top: p_subject;
run: p_subject;
buf: longint;
i:integer;
begin
{ Не хватало!}
top:=nil;
{!!}
for i:= 1 to 5 do begin
buf:=i;
new(run);
run^.number:=buf;
run^.next:=top;
top:=run;
end;
while run<>nil do begin
writeln(run^.number);
run:=run^.next;
end;
end.
aleks_k2 вне форума  
Старый 12.12.2003, 14:04     # 15
CEO
Full Member
 
Аватар для CEO
 
Регистрация: 31.08.2003
Адрес: где-то между Марсом и Юпитером
Сообщения: 998

CEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собой
aleks_k2 :нуда, это я просто невнимательно набирал...
__________________
Старые игры раздают здесь
CEO вне форума  
Старый 12.12.2003, 14:42     # 16
aleks_k2
Junior Member
 
Регистрация: 13.09.2002
Сообщения: 105

aleks_k2 Нимб уже пробиваетсяaleks_k2 Нимб уже пробивается
Кстати как RaZEr смог поместить программу с отступами?
aleks_k2 вне форума  
Старый 06.01.2004, 18:13     # 17
someone312002
Junior Member
 
Регистрация: 17.12.2002
Адрес: [EST], Tallinn
Сообщения: 120

someone312002 Путь к славе только начался
...в догонку к своему прошлому сообщению:
1. искать надо "Дерево структура графы SQL"
2. Если не хочется искать, то просто кликни сюда .

С НАСТУПАЮЩИМ РОЖДЕСТВОМ ВСЕХ!!!
__________________
"я не волшебник - я только учусь..." (c)
...а зовут меня Олег...
someone312002 вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 17:17.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.