gpt4 book ai didi

c++ - 有没有一种方法可以按堆顺序迭代堆而不弹出?

转载 作者:行者123 更新时间:2023-12-03 08:32:17 25 4
gpt4 key购买 nike

如果我创建一个堆并遍历它,它不会以正确的顺序显示:

vector<int> q;
q.push_back(3);
q.push_back(7);
q.push_back(5);
make_heap(q.begin(), q.end());

for (auto it = q.begin(); it != q.end(); ++it) {
cout << *it << " ";
}

输出:

7 3 5

当我想要的时候

7 5 3

我知道我每次都可以简单地弹出最大值。但如果不想弹出任何东西怎么办?

最佳答案

不,堆未完全排序。如果您愿意的话,弹出是对堆进行排序的操作。

关于c++ - 有没有一种方法可以按堆顺序迭代堆而不弹出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64795636/

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