C++ STL 中的 deque::at() 和 deque::swap()
c++server side programmingprogramming更新于 2024/11/10 18:50:00
在本文中,我们将讨论 C++ STL 中的 deque::at() 和 deque::swap() 函数的语法、工作原理及其返回值。
STL 中的 deque::at() 和 deque::swap() 函数是什么?
顾名思义,双端队列或双端队列是可以在两端扩展或收缩的序列容器。用户可以轻松地从任意一端插入数据,也可以从任意一端删除数据。它们类似于向量,但唯一的区别是,与向量不同,可能无法保证连续的存储分配。但是,在两端插入和删除元素的情况下,Deque 效率更高。
deque::at()
at() 函数用于提供对作为函数参数给出的特定位置上存在的元素的引用。
语法
dequename.at(元素的位置)
参数
元素的位置
返回值
直接引用给定位置上的元素。
示例
输入:adeque = 1, 3, 4, 5, 8 adeque.at(3); 输出:5 输入:adeque = 1, 3, 5, 7,9 adeque.at(2); 输出: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); 返回 0; }
输出
如果我们运行上述代码,它将会生成以下输出 −
5
deque::swap()
swap() 函数用于交换或交换两个相同类型和大小的双端队列的元素。
语法
Deque1name.swap(deque2name)
参数
参数包含双端队列的名称,双端队列1的内容必须与该名称一起成形。
返回值
两个双端队列的所有元素都将被交换或交换。
示例
输入: adeque = {1, 3, 4, 5, 8} bdeque = {2, 6, 7, 9, 0} adeque.swap(bdeque); 输出:adeque = {2, 6, 7, 9, 0} bdeque = {1, 3, 4, 5, 8}
示例
#include <deque> #include <iostream> using namespace std; int main(){ // deque 容器声明 deque<int> adeque{ 1, 2, 3, 4 }; deque<int> bdeque{ 3, 5, 7, 9 }; // 使用 swap() 函数交换双端队列的元素 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}