delphi 数组 子集
时间: 2023-09-27 19:05:42 浏览: 111
Delphi 中的数组子集可以通过数组的索引范围来实现。你可以使用以下代码来创建一个数组的子集:
```delphi
type
TMyArray = array of Integer;
procedure CreateSubset(const SourceArray: TMyArray; StartIndex, EndIndex: Integer; var Subset: TMyArray);
var
i, SubsetLength: Integer;
begin
SubsetLength := EndIndex - StartIndex + 1;
SetLength(Subset, SubsetLength);
for i := StartIndex to EndIndex do
Subset[i - StartIndex] := SourceArray[i];
end;
var
MyArray, MySubset: TMyArray;
begin
// 创建原始数组
SetLength(MyArray, 5);
MyArray[0] := 10;
MyArray[1] := 20;
MyArray[2] := 30;
MyArray[3] := 40;
MyArray[4] := 50;
// 创建子集,从索引1到索引3的元素
CreateSubset(MyArray, 1, 3, MySubset);
// 输出子集元素
for i := 0 to High(MySubset) do
WriteLn(MySubset[i]);
end.
```
在上面的示例中,我们首先定义了一个 `TMyArray` 类型作为数组的别名。然后,我们创建了一个名为 `CreateSubset` 的过程,它接受一个源数组、起始索引和结束索引,并通过引用参数返回子集数组。在这个过程中,我们使用 `SetLength` 函数为子集数组分配内存,并使用一个循环将源数组中指定索引范围内的元素复制到子集数组中。最后,我们使用 `WriteLn` 函数输出子集数组的元素。
在主程序中,我们创建了一个原始数组 `MyArray`,并初始化了一些元素。然后,我们调用 `CreateSubset` 过程来创建一个从索引1到索引3的子集数组 `MySubset`。最后,我们使用一个循环在控制台上输出子集数组的元素。
希望这个示例能够帮助你理解如何在 Delphi 中创建数组的子集。如果你有任何进一步的问题,请随时提问!
阅读全文