如何使用std::make_heap创建堆

   2024-10-01 4130
核心提示:使用std::make_heap可以轻松地创建一个堆。只需将要创建堆的序列传递给make_heap函数即可。以下是一个简单的示例:#include iost

使用std::make_heap可以轻松地创建一个堆。只需将要创建堆的序列传递给make_heap函数即可。以下是一个简单的示例:

#include <iostream>#include <algorithm>#include <vector>int main() {    std::vector<int> nums = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};    // 使用make_heap创建一个最大堆    std::make_heap(nums.begin(), nums.end());    // 输出堆中的元素    std::cout << "Heap elements:";    for (const auto& num : nums) {        std::cout << " " << num;    }    std::cout << std::endl;    return 0;}

在上面的示例中,我们首先创建了一个包含一些数字的vector。然后使用std::make_heap(nums.begin(), nums.end())函数将该vector转换为最大堆。最后输出堆中的元素。

请注意,make_heap函数只能创建最大堆。如果您需要创建最小堆,可以使用std::greater()函数作为第三个参数传递给make_heap函数,如下所示:

// 使用make_heap创建一个最小堆std::make_heap(nums.begin(), nums.end(), std::greater<int>());

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号