在本文中,我们将讨论C ++ STL函数语法,工作方式及其返回值的deque::at()和deque::swap()函数。
顾名思义,双端队列或双端队列是可以在两端扩展或收缩的序列容器。用户可以轻松地从任何一端插入数据,并类似地从任何一端删除数据。它们类似于向量,但是唯一的区别是,与向量不同,可能无法保证连续的存储分配。在两端插入和删除元素的情况下,Still Deque效率更高。
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
swap()函数用于交换或交换相同类型和相同大小的两个双端队列的元素。
Deque1name.swap(deque2name)
参数包含必须对deque1的内容进行整形的双端队列的名称。
两个双端队列的所有元素都可以互换或交换。
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<int> adeque{ 1, 2, 3, 4 }; deque<int> bdeque{ 3, 5, 7, 9 }; // using swap() function to swap elements of deques adeque.swap(bdeque); //打印adeque要素的代码 cout << "adeque = "; for (auto it = adeque.begin(); it < adeque.end(); ++it) cout << *it << " "; //打印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}