我正在使用simplelinkedlist。在这里:(https://delphihaven.wordpress.com/2011/07/31/generic-linked-lists-redux/)
我想逐一阅读所有列表。但我找不到任何选择。
这是我的代码:
function TKduCache.addJPIPResponseData(jRes: TJPIPResponse): Boolean;
var
data : TJPIPDataSegment;
begin
data:= jRes.readLinkedList;
while (data <> nil) and (not data.isEOR) do
begin
addDataSegment(data);
data:= jRes.readLinkedList
end;
Result:= jRes.isResponseComplete;
end;
readLinkedList方法:
function TJPIPResponse.removeJpipDataSegment: TJPIPDataSegment;
begin
Result:= TJPIPDataSegment(jpipDataList.First.Value);
end;
SimpleLinkedList 可以读取;
即可。 。
我应该如何创建我的算法来阅读?
答案 0 :(得分:1)
您引用的链接列表有一个枚举器。所以你可以这样做:
var
List: TSimpleLinkedList<Integer>;
Item: Integer;
....
// create and populate List
for Item in List do
DoSomething(Item);
或者,您可以使用经典的while
循环迭代列表:
var
List: TSimpleLinkedList<Integer>;
Node: TSimpleLinkedList<Integer>.TNode;
....
// create and populate List
Node := List.First;
while Assigned(Node) do
begin
DoSomething(Node.Value);
Node := Node.Next;
end;