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}

更新於: 2020年3月2日

189 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告