C++ deque雙端隊列、deque對象創建、deque賦值操作

在deque中,front()是頭部元素,back()指的是尾部元素。begin()是指向頭部的迭代器,end()是指向尾部的下一個元素的迭代器。

push_front 頭部進行插入

pop_front 尾部進行刪除

push_back 尾部進行插入

pop_back 尾部進行刪除

deque如果同時進行頭插和尾插的話,他的時間復雜度是o(1),如果是vector的話,時間復雜度是o(n),需要視情況進行選擇進行插入。如果是只有一個單向插法的話,用vector就可以。如果是兩種插入的方式的話,用deque就合適。

deque對象創建,代碼見下:

#include<iostream>
#include<deque>using namespace std;void printDeque(deque<int> &d) {for (deque<int>::iterator iter = d.begin(); iter != d.end(); iter++) {cout << *iter << " ";}cout << endl;
}int main() {// 1 默認構造函數deque<int> q1;cout << "d1: ";printDeque(q1);// 2 初始化列表deque<int> d2_1({ 9, 8, 8, 6, 5 });cout << "d2_1: ";printDeque(d2_1);deque<int> d2_2 = { 1, 8, 8, 8, 5};cout << "d2_2: ";printDeque(d2_2);// 3 迭代器deque<int> d3(d2_2.begin()+1, d2_2.end()-1);cout << "d3: ";printDeque(d3);// 4 全0初始化deque<int> d4(10);cout << "d4: ";printDeque(d4);// 5 deque<int> 變量名(a, b),代表申請了a個空間,初始化值為bdeque<int> d5(8, 6);cout << "d5: ";printDeque(d5);// 6 拷貝構造函數deque<int> d6(d5);cout << "d6: ";printDeque(d6);return 0;}

deque賦值操作,代碼見下:

#include<iostream>
#include<deque>using namespace std;void printDeque(deque<int> &d) {for (deque<int>::iterator iter = d.begin(); iter != d.end(); iter++) {cout << *iter << " ";}cout << endl;
}int main() {deque<int> d = { 9, 8, 5, 2, 1, 1 };cout << "d: ";printDeque(d);// 1 =賦值deque<int> d1;d1 = d;cout << "d1: ";printDeque(d1);// 2 assign(迭代器)deque<int> d2;d2.assign(d1.begin() + 1, d1.end());cout << "d2: ";printDeque(d2);// 3 初始化列表deque<int> d3;d3.assign({ 1, 2, 3, 5, 6, 7 });cout << "d3: ";printDeque(d3);// 4 初始化a個bdeque<int> d4;d4.assign(8, 6);cout << "d4: ";printDeque(d4);return 0;}

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

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

相關文章

java每日精進 5.15【分頁實現】

1. 什么是對象轉換和數據翻譯&#xff1f; 對象轉換 對象轉換是指將一種類型的對象&#xff08;如數據庫實體 UserDO&#xff09;轉換為另一種類型的對象&#xff08;如前端響應對象 UserVO 或服務層 DTO&#xff09;。例如&#xff0c;一個 UserDO 包含用戶 ID、姓名和部門 …

什么是API接口?API接口的核心價值

隨著互聯網技術的蓬勃發展&#xff0c;API 接口作為不同應用程序之間的關鍵紐帶&#xff0c;其重要性愈發凸顯。本文將從專業視角&#xff0c;深入剖析 API 接口的分類、原理、請求方式以及安全機制等核心要素&#xff0c;助力讀者全面理解這一數字化基礎設施。 一、API 接口及…

Linux_ELF文件

目錄 前言&#xff1a; 一、ELF文件的類型 二、ELF文件的組成格式 1. ELF頭部(ELF Header) 2. 節頭表(Section Header Table) 3. 程序頭表(Program Header Table) 4. 節(Sections)與段(Segments) 三、ELF文件從形成到加載輪廓 1、ELF可執行文件形成過程 2、 可執行文…

Go語言語法---輸入控制

文章目錄 1. fmt包讀取輸入1.1. 讀取單個值1.2. 讀取多個值 2. 格式化輸入控制 在Go語言中&#xff0c;控制輸入主要涉及從標準輸入(鍵盤)或文件等來源讀取數據。以下是幾種常見的輸入控制方法&#xff1a; 1. fmt包讀取輸入 fmt包中的Scan和Scanln函數都可以讀取輸入&#xf…

【PostgreSQL數據分析實戰:從數據清洗到可視化全流程】附錄-C. 常用SQL腳本模板

?? 點擊關注不迷路 ?? 點擊關注不迷路 ?? 點擊關注不迷路 文章大綱 附錄C. 常用SQL腳本模板速查表一、數據清洗與預處理模板二、數據聚合與分析模板三、窗口函數應用模板四、性能優化與監控模板五、數據備份與恢復模板六、權限管理與安全模板七、事務與錯誤處理模板八、時…

51單片機課設基于GM65模塊的二維碼加條形碼識別

系統組成 主控單元&#xff1a;51單片機&#xff08;如STC89C52&#xff09;作為核心控制器&#xff0c;協調各模塊工作。 掃描模塊&#xff1a;GM65條碼掃描頭&#xff0c;支持二維碼/條形碼識別&#xff0c;通過串口&#xff08;UART&#xff09;與單片機通信。 顯示模塊&a…

【OpenGL學習】(二)OpenGL渲染簡單圖形

文章目錄 【OpenGL學習】&#xff08;二&#xff09;OpenGL渲染簡單圖形OpenGL渲染圖形流程頂點&#xff0c;圖元和片元VAO&#xff0c;VBO &#xff0c;EBO著色器示例&#xff1a;使用OpenGL渲染三角形 【OpenGL學習】&#xff08;二&#xff09;OpenGL渲染簡單圖形 OpenGL渲…

基于STM32的INA226電壓電流檢測儀

系統總體框圖 功率檢測裝置原理圖功能及模塊連接說明 一、系統功能概述 該裝置以STM32F103C8T6微控制器為核心&#xff0c;集成功率檢測、數據交互、狀態顯示和用戶提示功能&#xff0c;通過模塊化設計實現穩定運行。 二、各模塊功能及連接方式 按鍵模塊 功能&#xff1a…

YOLOv2目標檢測算法:速度與精度的平衡之道

一、YOLOv2的核心改進&#xff1a;從V1到V2的蛻變 YOLOv2作為YOLO系列的第二代算法&#xff0c;在繼承V1端到端、單階段檢測的基礎上&#xff0c;針對V1存在的小目標檢測弱、定位精度低等問題進行了全方位升級&#xff0c;成為目標檢測領域的重要里程碑。 &#xff08;一&am…

將嵌入映射到 Elasticsearch 字段類型:semantic_text、dense_vector、sparse_vector

作者&#xff1a; Andre Luiz 討論如何以及何時使用 semantic_text、dense_vector 或 sparse_vector&#xff0c;以及它們與嵌入生成的關系。 通過這個自定進度的 Search AI 實踐學習親自體驗向量搜索。你可以開始免費云試用&#xff0c;或者在本地機器上嘗試 Elastic。 多年來…

uniapp取消瀏覽自動填充

為了防止瀏覽器自動將記住的密碼回填進type"password"輸入框&#xff0c;所以在type"password"輸入框上面加了兩行代碼&#xff0c;使瀏覽器將密碼填充到新加的輸入框里&#xff0c;并將這兩個input隱藏掉 <input type"password" autocomple…

從數據包到可靠性:UDP/TCP協議的工作原理分析

之前我們已經使用udp/tcp的相關接口寫了一些簡單的客戶端與服務端代碼。也了解了協議是什么&#xff0c;包括自定義協議和知名協議比如http/https和ssh等。現在我們再回到傳輸層&#xff0c;對udp和tcp這兩傳輸層巨頭協議做更深一步的分析。 一.UDP UDP相關內容很簡單&#xf…

顯卡、Cuda和pytorch兼容問題

這里寫目錄標題 驅動與CUDA版本兼容性問題1. **驅動與CUDA版本兼容性問題**2. **任務特性與硬件適配差異**3. **優化策略與框架配置差異**4. **散熱與功耗限制**5. **數據傳輸與CPU瓶頸**排查建議總結 查詢PyTorch中實際使用的CUDA版本**1. 查詢PyTorch中實際使用的CUDA版本***…

DeepSeek 大模型部署全指南:常見問題、優化策略與實戰解決方案

DeepSeek 作為當前最熱門的開源大模型之一&#xff0c;其強大的語義理解和生成能力吸引了大量開發者和企業關注。然而在實際部署過程中&#xff0c;無論是本地運行還是云端服務&#xff0c;用戶往往會遇到各種技術挑戰。本文將全面剖析 DeepSeek 部署中的常見問題&#xff0c;提…

Hadoop的目錄結構和組成

Hadoop 目錄結構 bin 目錄&#xff1a;包含了 Hadoop 的各種命令行工具&#xff0c;如hadoop、hdfs等&#xff0c;用于啟動和管理 Hadoop 集群&#xff0c;以及執行各種數據處理任務。etc 目錄&#xff1a;存放 Hadoop 的配置文件&#xff0c;包括core-site.xml、hdfs-site.xm…

Python Matplotlib 庫【繪圖基礎庫】全面解析

讓AI成為我們的得力助手&#xff1a;《用Cursor玩轉AI輔助編程——不寫代碼也能做軟件開發》 一、發展歷程 Matplotlib 由 John D. Hunter 于 2003 年創建&#xff0c;靈感來源于 MATLAB 的繪圖系統。作為 Python 生態中最早的可視化工具之一&#xff0c;它逐漸成為科學計算領…

車載以太網驅動智能化:域控架構設計與開發實踐

title: 車載以太網驅動專用車智能化&#xff1a;域控架構設計與開發實踐 date: 2023-12-01 categories: 新能源汽車 tags: [車載以太網, 電子電氣架構, 域控架構, 專用車智能化, SOME/IP, AUTOSAR] 引言&#xff1a;專用車智能化轉型的挑戰與機遇 專用車作為城市建設與工業運輸…

圖論模板(部分)

圖論模板&#xff08;部分&#xff09; maincpp #include <iostream> #include <climits> #include <limits>typedef unsigned long long ull; typedef long long ll; typedef long double ld; typedef std::pair<int, int> PII;#define rep(i, n) f…

2025年【道路運輸企業安全生產管理人員】考試題庫及道路運輸企業安全生產管理人員考試內容

一、考試概述 2025年道路運輸企業安全生產管理人員考試題庫由【安全生產模擬考試一點通】平臺發布&#xff0c;涵蓋安全生產法律法規、車輛技術管理、從業人員管理、應急預案編制等核心領域。考試重點考察考生對安全生產主體責任、風險管控、隱患排查等實務操作的掌握程度&…

分貝計在噪音污染源識別中的用途

分貝計在噪音污染源識別中的作用 噪音污染是現代社會面臨的一個普遍問題&#xff0c;尤其在城市化進程加快的背景下&#xff0c;交通、工業、建筑和娛樂活動等產生的噪音對人們的生活質量和健康造成了嚴重影響。為了有效管理和控制噪音污染&#xff0c;首先需要準確識別噪音的…