C++ STL 中的 deque assign() 函数
给定任务是展示 C++ STL 中 deque::assign() 的工作原理。
Deque 是一个双端队列。在 C++ 中,deque::assign() 是一个内置函数,用于为 deque 容器分配新值。每次调用此函数时,它都会通过替换现有值并相应地更改分配的大小来为 deque 容器分配新值。
语法
deque::assign() 的语法如下:
dequename.assign(<int> size, <int> val)
参数
此函数包含 2 个参数:
第一个是 **size**,表示 deque 容器的大小;第二个是 **val**,表示 deque 容器包含的值。
此外,除了 **size** 和 val 之外,我们还可以将迭代器作为参数来声明起始和结束点,示例中给出了这两种表示方式。
返回值
该函数没有返回值。
示例
Input: dq.assign(5, 1) Output: deque elements are: 1 1 1 1 1 Input: dq.assign(5, 2) dq1.assign(dq.start()+2, dq.end()) Output: deque elements are: 2 2 2 2 2 deque elements are: 2 2 2
**解释** - deque dq 有 5 个元素 2 2 2 2 2,而在 dq1 中,我们跳过从开头开始的 2 个元素,并从 dq 的第三个元素开始,所以 dq1 有 2 2 2。
使用大小和值
示例
#include <bits/stdc++.h>
using namespace std;
int main() {
deque<int> deq;
// assign 5 values of 1 each
deq.assign(5, 1); //here, 5 is the size and 1 is the value
cout << "deque elements are: ";
for (auto it = deq.begin(); it != deq.end(); it++)
cout << *it << " ";
return 0;
}输出
如果我们运行以上代码,它将生成以下输出:
deque elements are: 1 1 1 1 1
使用迭代器
示例
#include <bits/stdc++.h>
using namespace std;
int main() {
deque<int> deq;
// assign 5 values of 2 each
deq.assign(5, 2);
cout << "deque elements are: ";
for (auto it = deq.begin(); it != deq.end(); it++)
cout << *it << " ";
deque<int> deq1;
// assigns all elements from
// the second position to deque1
deq1.assign(deq.begin() + 2, deq.end());
cout << "\ndeque1 elements are: ";
for (auto it = deq1.begin(); it != deq1.end(); it++)
cout << *it << " ";
return 0;
}输出
如果我们运行以上代码,它将生成以下输出:
deque elements are: 2 2 2 2 2 deque1 elements are: 2 2 2
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP