Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Динамический массив [D6, Win2k]


skirdov ©   (2002-11-19 15:04:00) 

Уважаемые, помогите разобраться.

У меня есть тип данных:
MyType = record
x: integer;
p: pointer
end;

Мне нужно создать динамический массив, в котором каждый элемент ссылается на следующий. Как создать переменную такого типа (MyType) и получить ее адрес, чтобы затем можно было бы на нее сослаться?

Спасибо.


MBo   (2002-11-19 15:27:00) [1]

Кстати, такая структура данных называется не массив, а связанный список


han_malign   (2002-11-19 15:15:00) [2]

type
PMyType = ^TMyType;
TMyType = record
Value: integer;
Next: PMyType;
end;
..................
var X,Head : PMyType;
begin
new(Head);
Head.Value:=...;
Head.Next:=nil;//!!! конец списка (если N=1)
X:=Head;// ни в коем случае не потерять начало списка
for i:=2 to N do begin
New(X.Next);
X:=X.Next;//итерация
X.Value:=...;
end;
X.Next:=nil;//!!! конец списка находится по Next=nil
....................
//итерации
X:=Head;
while X<>nil do begin
doSomeThing(X.Value)
X:=X.Next;//итерация
end;


MBo   (2002-11-19 15:10:00) [3]

PA=^TA;
TA=record
x:integer;
next:PA;
end;

var A,A1:PA;

new(A);
new(A1);
A1.next:=A;


skirdov   (2002-11-19 15:09:00) [4]

Нашел!!!


Skier   (2002-11-19 15:09:00) [5]

>skirdov

PMyType = ^TMyType;
TMyType = record
x: integer;
p: PMyType;
end;

Это что ли имеется в виду ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо