我正在使用delphi。如何获取堆栈中的元素总数并在进程后保留堆栈。我知道这也可以通过创建临时堆栈并将原始堆栈复制到new one(temp),以便在计数时从temp中弹出元素,但我不允许使用此公式。有人可以帮助我实现我的任务吗?
答案 0 :(得分:1)
如果您在 Delphi XE4 中使用通用的 TStack 集合类,那么当前在堆栈中的元素数量已经通过 Count 财产:
var
myStack: TStack<Integer>;
begin
myStack := TStack<Integer>.Create;
myStack.Push(42);
ShowMessageFmt('Stack contains %d elements', [myStack.Count]);
myStack.Free;
end;
但是,由于您可能没有找到此属性,因此您可能正在使用其他堆栈实现。
如果没有关于该特定实现的更多详细信息,确定如何最好地从您正在使用的实现中访问有关堆栈的相同信息。