【问题标题】:Counting the number of elemnts in a stack [closed]计算堆栈中元素的数量[关闭]
【发布时间】:2015-05-17 20:25:36
【问题描述】:

我正在使用 delphi。如何获取堆栈中的元素总数并在处理后保留堆栈。我知道这也可以通过创建临时堆栈并将原始堆栈复制到新的(临时),以便在计数时从临时中弹出元素,但我不允许使用这个公式。有人可以帮助我完成我的任务吗?

【问题讨论】:

  • 堆栈会知道它持有什么。暴露元素数量通常很简单。在你提供一些细节之前,没有人会告诉你细节。
  • 你用的是什么栈?在现代 Delphi 版本中,有一个通用堆栈 Generics.Collections.TStack,带有一个 Count 属性来获取堆栈中元素的数量。

标签: delphi


【解决方案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;

但是,由于您可能还没有找到此属性,那么您可能正在使用其他一些堆栈实现。

如果没有关于特定实现的更多详细信息,就不可能确定如何最好地从您正在使用的实现中访问有关堆栈的相同信息。

【讨论】:

    猜你喜欢
    • 2021-02-14
    • 1970-01-01
    • 1970-01-01
    • 2012-12-14
    • 2019-07-10
    • 2013-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多