在C++中,priority_queue
是一個容器適配器,用于實現優先級隊列
<queue>
頭文件來使用priority_queue
。#include<queue>
priority_queue
會按照元素的大小進行排序(從大到小)。你可以直接聲明一個空的priority_queue
。std::priority_queue<int> pq;
auto cmp = [](int a, int b) { return a > b; };
std::priority_queue<int, std::vector<int>, decltype(cmp)> pq(cmp);
priority_queue
。std::priority_queue<int> pq = {5, 8, 3, 1, 9};
make_heap
函數:如果你已經有一個容器(例如vector
),你可以使用std::make_heap
函數將其轉換為priority_queue
。std::vector<int> v = {5, 8, 3, 1, 9};
std::make_heap(v.begin(), v.end());
std::priority_queue<int> pq(v.begin(), v.end());
這些是初始化C++ priority_queue
的不同方法。你可以根據需要選擇合適的方法。