創建 priority_queue - 進階(內置類型)c++

內置類型就是 C++ 提供的數據類型,?如 int double long long 等。以 int 類型為例,分
別創建?根堆和?根堆。
這種寫法意思是,我要告訴這個優先級隊列要建一個什么樣的堆,第一個int是要存什么數據類型,vector<int>這個優先級隊列要用什么類型來實現,相當于這個堆是要用vector實現的,less<int>是比較方式,決定了最終實現的是大根堆還是小根堆,less是小于的意思,c++提供的小于的比較方式,比如<>里傳的int,就會拿int作比較,是小于的話就返回true,否則返回false,因此我們可以把它理解成小于的比較方式,大于的比較方式是greater,創建大根堆用less<int>,小根堆用greater<int>
?
//大根堆	
priority_queue<int, vector<int>, less<int>> heap2;
//小根堆
priority_queue<int, vector<int>, greater<int>> heap3;
  • 記憶方式:
    • 大根堆用小于 把小的比下來
    • 小根堆用大于 把大的比下來

代碼實現

#include <iostream>
#include <queue>
using namespace std;int a[10] = { 1, 41, 23, 10, 11, 2, -1, 99, 14, 0 };//內置類型
void test1()
{//大根堆priority_queue<int> heap1;//大根堆// priority_queue<數據類型, 存儲結構, 比較方式>priority_queue<int, vector<int>, less<int>> heap2;//小根堆priority_queue<int, vector<int>, greater<int>> heap3;//記憶方式://大根堆用小于 把小的比下來//小根堆用大于 把大的比下來for (int i = 0; i < 10; ++i){heap2.push(a[i]);heap3.push(a[i]);}cout << "大根堆:";while (heap2.size()){cout << heap2.top() << " ";heap2.pop();}cout << endl;cout << "小根堆:";while (heap3.size()){cout << heap3.top() << " ";heap3.pop();}cout << endl;
}int main()
{test1();return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/67530.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/67530.shtml
英文地址,請注明出處:http://en.pswp.cn/web/67530.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

解鎖微服務:五大進階業務場景深度剖析

目錄 醫療行業&#xff1a;智能診療的加速引擎 電商領域&#xff1a;數據依賴的破局之道 金融行業&#xff1a;運維可觀測性的提升之路 物流行業&#xff1a;智慧物流的創新架構 綜合業務&#xff1a;服務依賴的優化策略 醫療行業&#xff1a;智能診療的加速引擎 在醫療行業邁…

Cloudreve:Star22.3k,免費開源的網盤,支持多種存儲方式,它允許用戶快速搭建個人或團隊的私有云存儲服務。

嗨&#xff0c;大家好&#xff0c;我是小華同學&#xff0c;關注我們獲得“最新、最全、最優質”開源項目和高效工作學習方法 Cloudreve是一個基于Web的文件管理和分享系統&#xff0c;它允許用戶快速搭建個人或團隊的私有云存儲服務。該項目以其高度的可定制性和靈活性&#x…

Day28(補)-【AI思考】-AI會不會考慮自己的需求?

文章目錄 AI會不會考慮自己的需求&#xff1f;一、**技術本質&#xff1a;深度≠理解**二、**傳播機制&#xff1a;熱搜如何制造幻覺**三、**倫理考量&#xff1a;為何必須"撇清"**關鍵結論 AI會不會考慮自己的需求&#xff1f; 讓思想碎片重煥生機的靈魂&#xff1a…

AIGC(生成式AI)試用 20 -- deepseek 初識

>> 基本概念 Ollama -- 運行大模型&#xff0c;管理運行AI大模型的工具&#xff0c;用來安裝布置DeepSeek https://ollama.com/ , Get up and running with large language models. AnythingLLM -- 大模型增強應用&#xff0c;GUI大模型交互程序 Download AnythingLLM …

解決Oracle SQL語句性能問題(10.5)——常用Hint及語法(7)(其他Hint)

10.5.3. 常用hint 10.5.3.7. 其他Hint 1)cardinality:顯式的指示優化器為SQL語句的某個行源指定勢。該Hint具體語法如下所示。 SQL> select /*+ cardinality([@qb] [table] card ) */ ...; --注: 1)這里,第一個參數(@qb)為可選參數,指定查詢語句塊名;第二個參數…

Axure PR 9 旋轉效果 設計交互

大家好&#xff0c;我是大明同學。 這期內容&#xff0c;我們將學習Axure中的旋轉效果設計與交互技巧。 旋轉 創建旋轉效果所需的元件 1.打開一個新的 RP 文件并在畫布上打開 Page 1。 2.在元件庫中拖出一個按鈕元件。 創建交互 創建按鈕交互狀態 1.選中按鈕元件&#xf…

SSM開發(三) spring與mybatis整合(含完整運行demo源碼)

目錄 本文主要內容 一、Spring整合MyBatis的三個關鍵點 二、整合步驟 1、創建一個Maven項目 2、在pom.xml文件中添加jar包的依賴 3、配置MyBatis 注解實現方式 XML配置文件實現 4、配置Spring 5、測試運行 本文主要內容 1. Spring + Mybatis整合; 2. MyBatis兩種SQL…

Attention--人工智能領域的核心技術

1. Attention 的全稱與基本概念 在人工智能&#xff08;Artificial Intelligence&#xff0c;AI&#xff09;領域&#xff0c;Attention 機制的全稱是 Attention Mechanism&#xff08;注意力機制&#xff09;。它是一種能夠動態分配計算資源&#xff0c;使模型在處理輸入數據…

相同的樹及延伸題型(C語言詳解版)

從LeetCode 100和101看二叉樹的比較與對稱性判斷 今天要講的是leetcode100.相同的樹&#xff0c;并且本文章還會講到延伸題型leetcode101.對稱二叉樹。本文章編寫用的是C語言&#xff0c;大家主要是學習思路&#xff0c;學習過后可以自己點擊鏈接測試&#xff0c;并且做一些對…

Carla-ModuleNotFoundError: No module named ‘agents.navigation‘

解決辦法&#xff1a; You need to make sure that _agents _ is in your (PYTHON)PATH variable or your working dictionary. Setting your working dictionary to <CARLA_ROOT>/PythonAPI/carla would fix it as agents is a sub dictionary. Similarly adding the c…

【Rust自學】15.0. 智能指針(序):什么是智能指針及Rust智能指針的特性

喜歡的話別忘了點贊、收藏加關注哦&#xff0c;對接下來的教程有興趣的可以關注專欄。謝謝喵&#xff01;(&#xff65;ω&#xff65;) 15.0.1 指針的基本概念 指針是一個變量在內存中包含的是一個地址&#xff0c;指向另一個數據。 Rust 中最常見的指針是引用&#xff0c…

數據結構:線性表查找的三種方式

只要是靜態查找表即可 #define ElemType int typedef struct { ElemType *d; int length; }SSTable; 順序查找 S(n)O(1) 哨兵空間 int Search_Seq(SSTable t,ElemType key) {t.d[0]key;for (int i t.length; i >0 ; i--) {if(t.d[i]t.d[0]){return i;}}return 0; } 折半查找…

記錄一次,PyQT的報錯,多線程Udp失效,使用工具如netstat來檢查端口使用情況。

1.問題 報錯Exception in thread Thread-1: Traceback (most recent call last): File "threading.py", line 932, in _bootstrap_inner File "threading.py", line 870, in run File "main.py", line 456, in udp_recv IndexError: list…

電路研究9.2.5——合宙Air780EP中GPS 相關命令使用方法研究

注&#xff1a;本命令僅適用于合宙 4G CAT1 模塊&#xff08;Air780EG 系列&#xff09;。 正好&#xff0c;我們使用的Air780EP好像也有4G CAT1模塊&#xff0c;好像也屬于Air780EG系列吧。 這個例子好像比較少就個。 18.9 使用方法舉例 18.1GPS 開關&#xff1a;ATCGNSPWR 這…

【C語言】在Windows上為可執行文件.exe添加自定義圖標

本文詳細介紹了在 Windows 環境下,如何為使用 GCC 編譯器編譯的 C程序 添加自定義圖標,從而生成帶有圖標的 .exe 可執行文件。通過本文的指導,讀者可以了解到所需的條件以及具體的操作步驟,使生成的程序更具專業性和個性化。 目錄 1. 準備條件2. 具體步驟步驟 1: 準備資源文…

python編程環境安裝保姆級教程--python-3.7.2pycharm2021.2.3社區版

第1步安裝解釋器python-3.7.2&#xff0c;第2步安裝pycharm編程軟件 1、安裝解釋器 1.1 什么是解釋器 就是將Python高級程序語言翻譯成為計算機可以識別的0、1代碼 1.2 安裝解釋器python-3.7.2&#xff08;根據自己的操作系統安裝適配的解釋器&#xff0c;以Windows為例&…

STM32 TIM輸入捕獲 測量頻率

輸入捕獲簡介&#xff1a; IC&#xff08;Input Capture&#xff09;輸入捕獲 輸入捕獲模式下&#xff0c;當通道輸入引腳出現指定電平跳變時&#xff0c;當前CNT的值將被鎖存到CCR中&#xff0c;可用于測量PWM波形的頻率、占空比、脈沖間隔、電平持續時間等參數 每個高級定時器…

21.3-啟動流程、編碼風格(了解) 第21章-FreeRTOS項目實戰--基礎知識之新建任務、啟動流程、編碼風格、系統配置 文件組成和編碼風格(了解)

21.3-啟動流程、編碼風格(了解) 啟動流程 第一種啟動流程(我們就使用這個): 在main函數中將硬件初始化、RTOS系統初始化&#xff0c;同時創建所有任務&#xff0c;再啟動RTOS調度器。 第二種啟動流程&#xff1a; 在main函數中將硬件初始化、RTOS系統初始化&#xff0c;只…

【AI非常道】二零二五年一月(二),AI非常道

經常在社區看到一些非常有啟發或者有收獲的話語&#xff0c;但是&#xff0c;往往看過就成為過眼云煙&#xff0c;有時再想去找又找不到。索性&#xff0c;今年開始&#xff0c;看到好的言語&#xff0c;就記錄下來&#xff0c;一月一發布&#xff0c;亦供大家參考。 有關AI非…

Mac Electron 應用簽名(signature)和公證(notarization)

在MacOS 10.14.5之后&#xff0c;如果應用沒有在蘋果官方平臺進行公證notarization(我們可以理解為安裝包需要審核&#xff0c;來判斷是否存在病毒)&#xff0c;那么就不能被安裝。當然現在很多人的解決方案都是使用sudo spctl --master-disable&#xff0c;取消驗證模式&#…