91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

如何使用std::make_heap創建堆

c++
小樊
86
2024-08-18 01:59:36
欄目: 編程語言

使用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>());

0
罗甸县| 岳西县| 门头沟区| 黄大仙区| 紫金县| 调兵山市| 虎林市| 永昌县| 鄂温| 安阳市| 洛川县| 河南省| 库车县| 姜堰市| 赫章县| 基隆市| 手游| 永丰县| 环江| 富蕴县| 河西区| 隆安县| 酉阳| 灌阳县| 广河县| 佛坪县| 龙胜| 五华县| 承德县| 武平县| 邵阳市| 雅安市| 滁州市| 宣武区| 桑日县| 和顺县| 陈巴尔虎旗| 揭西县| 左贡县| 铜川市| 皮山县|