C++ STL 中的 deque::at() 和 deque::swap()
在本文中,我們將討論 C++ STL 中的 deque::at() 和 deque::swap() 函式的語法、工作原理及其返回值。
什麼是 STL 中的 deque::at() 和 deque::swap() 函式?
Deque 或雙端佇列顧名思義,是一種可以從兩端擴充套件或收縮的序列容器。使用者可以輕鬆地從任何一端插入資料,也可以從任何一端刪除資料。它們類似於向量,但唯一的區別是,與向量不同,它們可能不保證連續的儲存分配。但是,在兩端插入和刪除元素的情況下,Deque 更有效率。
deque::at()
at() 函式用於提供對位於特定位置的元素的引用,該位置作為引數傳遞給函式。
語法
dequename.at(position of element)
引數
元素的位置
返回值
對給定位置的元素的直接引用。
示例
Input : adeque = 1, 3, 4, 5, 8 adeque.at(3); Output : 5 Input : adeque = 1, 3, 5, 7,9 adeque.at(2); Output : 5
示例
#include <deque> #include <iostream> using namespace std; int main(){ deque<int> adeque; adeque.push_back(1); adeque.push_back(3); adeque.push_back(4); adeque.push_back(5); adeque.push_back(8); cout << adeque.at(3); return 0; }
輸出
如果我們執行以上程式碼,它將生成以下輸出:
5
deque::swap()
swap() 函式用於交換兩個相同型別和相同大小的 deque 的元素。
語法
Deque1name.swap(deque2name)
引數
引數包含要與 deque1 的內容進行交換的 deque 的名稱。
返回值
兩個 deque 的所有元素都被交換。
示例
Input : adeque = {1, 3, 4, 5, 8} bdeque = {2, 6, 7, 9, 0} adeque.swap(bdeque); Output : adeque = {2, 6, 7, 9, 0} bdeque = {1, 3, 4, 5, 8}
示例
#include <deque> #include <iostream> using namespace std; int main(){ // deque container declaration deque<int> adeque{ 1, 2, 3, 4 }; deque<int> bdeque{ 3, 5, 7, 9 }; // using swap() function to swap elements of deques adeque.swap(bdeque); // code for printing the elemets of adeque cout << "adeque = "; for (auto it = adeque.begin(); it < adeque.end(); ++it) cout << *it << " "; // code for printing the elemets of bdeque cout << endl << "bdeque = "; for (auto it = bdeque.begin(); it < bdeque.end(); ++it) cout << *it << " "; return 0; }
輸出
如果我們執行以上程式碼,它將生成以下輸出
adeque = {2, 6, 7, 9, 0} bdeque = {1, 3, 4, 5, 8}
廣告