C++中std::deque的使用
更新時間:2024年03月28日 09:05:27 作者:賽先生.AI
std::deque是C++標準庫中的一個雙端隊列容器,本文主要介紹了C++中std::deque的使用,具有一定的參考價值,感興趣的可以了解一下
1. std::deque
std::deque 是 C++ 標準庫中的一個雙端隊列容器。這個容器支持在序列的兩端進行快速的插入和刪除操作,其時間復雜度為常數時間 O(1)。同時,std::deque 也提供了對序列中任意元素的隨機訪問。
2. 特點
(1)雙端操作:在序列的開始和結束都可以進行元素的插入和刪除操作。
(2)隨機訪問:可以使用下標操作符 [] 或 at() 方法來訪問隊列中的任意元素。
(3)動態(tài)大小:std::deque 可以根據需要動態(tài)地增長或縮小。
3. 基本用法
(1)聲明std::deque
#include <deque> std::deque<int> myDeque;
(2)插入元素
/** 在末尾插入 */ myDeque.push_back(10); /** 在開頭插入 */ myDeque.push_front(20); /** 在特定位置插入 */ myDeque.insert(myDeque.begin() + 1, 30);
(3)刪除元素
/** 刪除末尾元素 */ myDeque.pop_back(); /** 刪除開頭元素 */ myDeque.pop_front(); /** 刪除特定位置的元素 */ auto it = myDeque.begin(); it++; ///< 移動到第一個元素 myDeque.erase(it); ///< 刪除當前指向的元素
(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); /** 刪除開頭元素 */ numbers.pop_front(); /** 再次遍歷并打印元素 */ std::cout << "Deque after modification: "; for (int num : numbers) { std::cout << num << " "; } std::cout << std::endl; return 0; }
到此這篇關于C++中std::deque的使用的文章就介紹到這了,更多相關C++ std::deque內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
C++中::SHCreateDirectoryEx函數使用方法
::SHCreateDirectoryEx用于創(chuàng)建多級目錄,類似于mkdir -p命令,本文主要介紹了C++中::SHCreateDirectoryEx函數使用方法,具有一定的參考價值,感興趣的可以了解一下2025-03-03