
- C 標準庫
- C 標準庫
- C++ 標準庫
- C++ 庫 - 首頁
- C++ 庫 - <fstream>
- C++ 庫 - <iomanip>
- C++ 庫 - <ios>
- C++ 庫 - <iosfwd>
- C++ 庫 - <iostream>
- C++ 庫 - <istream>
- C++ 庫 - <ostream>
- C++ 庫 - <sstream>
- C++ 庫 - <streambuf>
- C++ 庫 - <atomic>
- C++ 庫 - <complex>
- C++ 庫 - <exception>
- C++ 庫 - <functional>
- C++ 庫 - <limits>
- C++ 庫 - <locale>
- C++ 庫 - <memory>
- C++ 庫 - <new>
- C++ 庫 - <numeric>
- C++ 庫 - <regex>
- C++ 庫 - <stdexcept>
- C++ 庫 - <string>
- C++ 庫 - <thread>
- C++ 庫 - <tuple>
- C++ 庫 - <typeinfo>
- C++ 庫 - <utility>
- C++ 庫 - <valarray>
- C++ STL 庫
- C++ 庫 - <array>
- C++ 庫 - <bitset>
- C++ 庫 - <deque>
- C++ 庫 - <forward_list>
- C++ 庫 - <list>
- C++ 庫 - <map>
- C++ 庫 - <multimap>
- C++ 庫 - <queue>
- C++ 庫 - <priority_queue>
- C++ 庫 - <set>
- C++ 庫 - <stack>
- C++ 庫 - <unordered_map>
- C++ 庫 - <unordered_set>
- C++ 庫 - <vector>
- C++ 庫 - <algorithm>
- C++ 庫 - <iterator>
- C++ 高階庫
- C++ 庫 - <any>
- C++ 庫 - <barrier>
- C++ 庫 - <bit>
- C++ 庫 - <chrono>
- C++ 庫 - <cinttypes>
- C++ 庫 - <clocale>
- C++ 庫 - <condition_variable>
- C++ 庫 - <coroutine>
- C++ 庫 - <cstdlib>
- C++ 庫 - <cstring>
- C++ 庫 - <cuchar>
- C++ 庫 - <charconv>
- C++ 庫 - <cfenv>
- C++ 庫 - <cmath>
- C++ 庫 - <ccomplex>
- C++ 庫 - <expected>
- C++ 庫 - <format>
- C++ 庫 - <future>
- C++ 庫 - <flat_set>
- C++ 庫 - <flat_map>
- C++ 庫 - <filesystem>
- C++ 庫 - <generator>
- C++ 庫 - <initializer_list>
- C++ 庫 - <latch>
- C++ 庫 - <memory_resource>
- C++ 庫 - <mutex>
- C++ 庫 - <mdspan>
- C++ 庫 - <optional>
- C++ 庫 - <print>
- C++ 庫 - <ratio>
- C++ 庫 - <scoped_allocator>
- C++ 庫 - <semaphore>
- C++ 庫 - <source_location>
- C++ 庫 - <span>
- C++ 庫 - <spanstream>
- C++ 庫 - <stacktrace>
- C++ 庫 - <stop_token>
- C++ 庫 - <syncstream>
- C++ 庫 - <system_error>
- C++ 庫 - <string_view>
- C++ 庫 - <stdatomic>
- C++ 庫 - <variant>
- C++ STL 庫速查表
- C++ STL - 速查表
- C++ 程式設計資源
- C++ 程式設計教程
- C++ 有用資源
- C++ 討論
C++ 庫 - <priority_queue>
C++ 的優先佇列(Priority_queue) 是來自 STL 的一個容器介面卡,它提供了動態優先佇列資料結構。它以二叉堆的形式實現,允許高效地插入、刪除和訪問最高或最低優先順序的元素。預設情況下,它根據比較函式按降序排列元素。優先佇列通常用於 Dijkstra 最短路徑演算法和 Prim 最小生成樹演算法等演算法。
語法
以下是 std::priority_queue 的語法。
template <class T, class Container = vector<T>, class Compare = less<typename Container::value_type> < class priority_queue;
引數
T − 包含的元素型別。
T 可以被任何其他資料型別替換,包括使用者定義型別。
Container − 底層容器物件的型別。
Compare − 用於對 priority_queue 進行排序的比較物件。
這可以是一個函式指標或函式物件,可以比較其兩個引數。
成員型別
以下成員型別可以用作成員函式的引數或返回型別。
序號 | 成員型別 | 定義 |
---|---|---|
1 | value_type | T(模板的第一個引數) |
2 | container_type | 模板的第二個引數 |
3 | size_type | size_t |
4 | reference | value_type& |
5 | const_reference | const value_type& |
6 | difference_type | ptrdiff_t |
來自 <priority_queue> 的函式
以下是來自 <priority_queue> 的所有方法列表。
建構函式
序號 | 方法和描述 |
---|---|
1 | priority_queue::priority_queue 預設建構函式 構造一個具有零個元素的空優先佇列。 |
2 | priority_queue::priority_queue 初始化建構函式 構造一個 priority_queue 物件,並透過 ctnr 的副本分配內部容器。ctnr. |
3 | priority_queue::priority_queue 範圍建構函式 構造一個優先佇列,其中包含從 first 到 last 範圍內的所有元素。 |
4 | priority_queue::priority_queue 移動建構函式 使用移動語義構造具有 other 內容的 priority_queue。 |
5 | priority_queue::priority_queue 複製建構函式 構造一個 priority_queue,其中包含現有 priority_queue other 中每個元素的副本。 |
解構函式
序號 | 方法和描述 |
---|---|
1 | priority_queue::~priority_queue
透過釋放容器記憶體來銷燬 priority_queue。 |
成員函式
序號 | 方法和描述 |
---|---|
1 | priority_queue::emplace
構造並在 priority_queue 中按排序順序插入新元素。 |
2 | priority_queue::empty
測試 priority_queue 是否為空。 |
3 | priority_queue::operator= 透過替換舊內容來為 priority_queue 分配新內容。 |
4 | priority_queue::pop
刪除 priority_queue 的首元素。 |
5 | priority_queue::push 按排序順序插入新元素。 |
6 | priority_queue::size
返回 priority_queue 中存在的元素總數。 |
7 | priority_queue::swap
交換 priority_queue 的內容與另一個 priority_queue 的內容。 |
8 | priority_queue::top
返回對 priority_queue 的第一個元素的引用。 |