| imho.ws |
![]() |
|
|
|
# 1 |
|
Junior Member
Регистрация: 25.11.2003
Адрес: Киев
Сообщения: 62
![]() |
буду очень признателен тому, кто может помочь с программой на Pascal с использованием связанных списков. Програма должна быть неочень сложной. А просто показывать суть связанных списков. Заранее благодарен!
|
|
|
|
|
# 2 |
|
::VIP::
Регистрация: 17.02.2002
Адрес: /home/dr-evil
Пол: Male
Сообщения: 2 212
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
опиши что конкретно ты не понимаешь
__________________
Сеть - это диагноз... а сисадмин - состояние души. Питер! Все на сходку!!! | Обзоры порталов. Добавь свою любимую систему! |
|
|
|
|
# 3 |
|
Junior Member
Регистрация: 25.11.2003
Адрес: Киев
Сообщения: 62
![]() |
Связанный список - список (структура данных), элементы которого не обязательно расположены в памяти последовательно. Доступ к следующему элементу осуществляется с помощью указателя, хранящегося в предыдущем элементе списка. У последнего элемента указатель имеет специальное значение, по которому определяется конец списка. Список может быть двунаправленным, когда каждый его элемент содержит ссылки как на следующий, так и на предшествующий элементы.
Вот на ету тему мне нужна простенькая програма
__________________
Честь - это награда, присуждаемая за добродетель... |
|
|
|
|
# 4 |
|
МОД-Оператор ЭВМ
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Код:
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;
|
|
|
|
|
# 6 |
|
::VIP::
Регистрация: 12.11.2002
Адрес: Nicosia, Cyprus
Сообщения: 1 285
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Rifle
А связанный список, вообще-то, через эти самые указатели и реализуется.
__________________
"If people only knew how hard I work to gain my mastery, it wouldn't seem so wonderful at all." Michelangelo Buonarroti |
|
|
|
|
# 7 |
|
::VIP::
Регистрация: 17.02.2002
Адрес: /home/dr-evil
Пол: Male
Сообщения: 2 212
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Rifle
---------------------- ---------------------- ---------------------- | data | pointer | -> | data | pointer | -> | data | nil | ---------------------- ---------------------- ---------------------- вот структура простейшего однонаправленного списка
__________________
Сеть - это диагноз... а сисадмин - состояние души. Питер! Все на сходку!!! | Обзоры порталов. Добавь свою любимую систему! |
|
|
|
|
# 9 |
|
Junior Member
Регистрация: 25.11.2003
Адрес: Киев
Сообщения: 62
![]() |
Ну связанный список реализуется через указатели ето да! Но в том коде что ты написал происходит просто помешение и удаление значения из стека. Или я что-то нетак понял???
__________________
Честь - это награда, присуждаемая за добродетель... |
|
|
|
|
# 12 |
|
Junior Member
Регистрация: 17.12.2002
Адрес: [EST], Tallinn
Сообщения: 120
![]() |
Эт конечно всё интересно (списки) только одна заковыка: может статься так, что у этого списка будет не просто "лестница", а "дерево лестниц". О когда ты попляшешь.
читал где-то год назад про организацию хранения данных, структуированных данных, если мне моя память не изменяет, то ищи "дерево ноды оракл" в яндексе, там тебе будет всё (ВСЁ) объяснено. Постараюсь и я найти, а пока - прочти мой пост и пошевели руками по клаве, не найдёшь - кинь сюда сообщение - помогу найти
__________________
"я не волшебник - я только учусь..." (c) ...а зовут меня Олег... |
|
|
|
|
# 13 | |
|
Full Member
Регистрация: 31.08.2003
Адрес: где-то между Марсом и Юпитером
Сообщения: 998
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
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. Из списка можно удалить любой элемент, можно так же и добавить элемент в любое место списка. Существует так же возможность сортировать данные в списке по какому-либо признаку.
__________________
Старые игры раздают здесь |
|
|
|
|
|
# 14 | |
|
Junior Member
Регистрация: 13.09.2002
Сообщения: 105
![]() ![]() |
Цитата:
и из-за отсутствия отступов трудно что-либо понять. 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. |
|
|
|
|
|
# 17 |
|
Junior Member
Регистрация: 17.12.2002
Адрес: [EST], Tallinn
Сообщения: 120
![]() |
...в догонку к своему прошлому сообщению:
1. искать надо "Дерево структура графы SQL" 2. Если не хочется искать, то просто кликни сюда . С НАСТУПАЮЩИМ РОЖДЕСТВОМ ВСЕХ!!!
__________________
"я не волшебник - я только учусь..." (c) ...а зовут меня Олег... |
|
|