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

更新于: 2020-01-20

222 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.