Вниз
Скачать: CL | DM;

Динамический массив   Найти похожие ветки 

 
skirdov ©   (2002-11-19 15:04) [0]

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

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

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

Спасибо.


 
skirdov ©   (2002-11-19 15:09) [1]

Нашел!!!


 
Skier ©   (2002-11-19 15:09) [2]

>skirdov

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

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


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

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

var A,A1:PA;

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


 
han_malign ©   (2002-11-19 15:15) [4]

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:27) [5]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
3-92860
Nick-From
2002-11-06 23:18
2002.11.28
Delphi + Prolog = Экспертная система


1-92970
kofman
2002-11-15 23:08
2002.11.28
Как развернуть свое окно на весь экран если BorderStyle= bsNone?


1-93062
Ag2002
2002-11-15 14:04
2002.11.28
диолог


3-92921
Dbrf
2002-11-11 13:43
2002.11.28
Построение композитного отчёта


1-93013
ctapik-net
2002-11-18 16:41
2002.11.28
TShellListView или что нибудь подобное




   Наверх