gpt4 book ai didi

c++ - 在不破坏堆栈的情况下获取 C++ 中堆栈的总和

转载 作者:行者123 更新时间:2023-11-28 04:48:41 27 4
gpt4 key购买 nike

获取堆栈元素总和的有效方法,无需清空它或将其复制到其他堆栈?我正在做的是:

    stack<int> si;
int sum = 0;
stack<int> tsi(si);
while (!tsi.empty()) {
sum += tsi.top();
tsi.pop();
}

这可以使用 https://ideone.com/i7ha2j 来完成中间版本:https://stackoverflow.com/a/13428630/7267150

还有其他方法可以达到要求(本例,总和)吗?我更喜欢 STL(是否可能)。

最佳答案

您不能遍历 stack所以没有简单的方法。您可以使用 dequeue<int>stack<int>插入每个顶部元素。然后,使用另一个循环将它们重新插入到原始 stack<int> si ,如果你必须使用堆栈。否则,尝试切换到 vector<int>便于迭代。

关于c++ - 在不破坏堆栈的情况下获取 C++ 中堆栈的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48665770/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com