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++算法學(xué)習(xí)之分支限界法的應(yīng)用
分支限界法常以廣度優(yōu)先或以最小耗費(fèi)(最大效益)優(yōu)先的方式搜索問(wèn)題的解空間樹(shù)。本文將詳細(xì)講解分支限界法的應(yīng)用,需要的可以參考一下2022-05-05
C語(yǔ)言報(bào)錯(cuò):Format String Vulnerability的多種解決方案
Format String Vulnerability(格式化字符串漏洞)是C語(yǔ)言中常見(jiàn)且嚴(yán)重的安全漏洞之一,它通常在程序使用不受信任的輸入作為格式化字符串時(shí)發(fā)生,本文將詳細(xì)介紹Format String Vulnerability的產(chǎn)生原因,提供多種解決方案,需要的朋友可以參考下2024-06-06
詳解C語(yǔ)言中的符號(hào)常量、變量與算術(shù)表達(dá)式
這篇文章主要介紹了C語(yǔ)言中的符號(hào)常量、變量與算術(shù)表達(dá)式,是C語(yǔ)言入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-11-11

