C++中std::deque的使用
1. std::deque
std::deque 是 C++ 標(biāo)準(zhǔn)庫(kù)中的一個(gè)雙端隊(duì)列容器。這個(gè)容器支持在序列的兩端進(jìn)行快速的插入和刪除操作,其時(shí)間復(fù)雜度為常數(shù)時(shí)間 O(1)。同時(shí),std::deque 也提供了對(duì)序列中任意元素的隨機(jī)訪問(wèn)。
2. 特點(diǎn)
(1)雙端操作:在序列的開(kāi)始和結(jié)束都可以進(jìn)行元素的插入和刪除操作。
(2)隨機(jī)訪問(wèn):可以使用下標(biāo)操作符 [] 或 at() 方法來(lái)訪問(wèn)隊(duì)列中的任意元素。
(3)動(dòng)態(tài)大小:std::deque 可以根據(jù)需要?jiǎng)討B(tài)地增長(zhǎng)或縮小。
3. 基本用法
(1)聲明std::deque
#include <deque> std::deque<int> myDeque;
(2)插入元素
/** 在末尾插入 */ myDeque.push_back(10); /** 在開(kāi)頭插入 */ myDeque.push_front(20); /** 在特定位置插入 */ myDeque.insert(myDeque.begin() + 1, 30);
(3)刪除元素
/** 刪除末尾元素 */ myDeque.pop_back(); /** 刪除開(kāi)頭元素 */ myDeque.pop_front(); /** 刪除特定位置的元素 */ auto it = myDeque.begin(); it++; ///< 移動(dòng)到第一個(gè)元素 myDeque.erase(it); ///< 刪除當(dāng)前指向的元素
(4)遍歷所有元素
for (auto it = myDeque.begin(); it != myDeque.end(); ++it) { std::cout << *it << std::endl; }
4. 例程
#include <iostream> #include <deque> int main() { std::deque<int> numbers; /** 插入元素 */ numbers.push_back(5); numbers.push_back(10); numbers.push_front(3); /** 遍歷并打印元素 */ std::cout << "Deque before modification: "; for (int num : numbers) { std::cout << num << " "; } std::cout << std::endl; /** 在中間插入元素 */ numbers.insert(numbers.begin() + 1, 7); /** 刪除開(kāi)頭元素 */ numbers.pop_front(); /** 再次遍歷并打印元素 */ std::cout << "Deque after modification: "; for (int num : numbers) { std::cout << num << " "; } std::cout << std::endl; return 0; }
到此這篇關(guān)于C++中std::deque的使用的文章就介紹到這了,更多相關(guān)C++ std::deque內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++實(shí)現(xiàn)將內(nèi)容寫(xiě)入文件的方法總結(jié)
本文主要總結(jié)了一下C/C++將內(nèi)容寫(xiě)入文件的方法,C的方法有些單調(diào),畢竟沒(méi)有庫(kù)函數(shù)。C++則豐富些,下面我把搜集到的整理一下,供大家參考2023-04-04實(shí)例解析C++設(shè)計(jì)模式編程中簡(jiǎn)單工廠模式的采用
這篇文章主要介紹了C++設(shè)計(jì)模式編程中簡(jiǎn)單工廠模式的采用實(shí)例,在簡(jiǎn)單工廠模式中程序往往利用封裝繼承來(lái)降低耦合度,需要的朋友可以參考下2016-03-03C語(yǔ)言大小端模式、判斷大小端、大小端轉(zhuǎn)換方法詳解
這篇文章主要介紹了C語(yǔ)言大小端模式、判斷大小端、大小端轉(zhuǎn)換的相關(guān)資料,大端和小端是數(shù)據(jù)在內(nèi)存中的存儲(chǔ)方式,大端模式下高字節(jié)存于低地址,小端模式則相反,大小端問(wèn)題由數(shù)據(jù)類(lèi)型多字節(jié)存儲(chǔ)引起,不同選擇形成不同存儲(chǔ)模式,需要的朋友可以參考下2024-10-10C++實(shí)現(xiàn)坦克大戰(zhàn)小游戲EGE圖形界面
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)坦克大戰(zhàn)小游戲EGE圖形界面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03C++中::SHCreateDirectoryEx函數(shù)使用方法
::SHCreateDirectoryEx用于創(chuàng)建多級(jí)目錄,類(lèi)似于mkdir -p命令,本文主要介紹了C++中::SHCreateDirectoryEx函數(shù)使用方法,具有一定的參考價(jià)值,感興趣的可以了解一下2025-03-03