在C++ STL中的deque assign()函数
deque::assign() 是C++ STL中的内置函数,用于将值分配给同一或不同的deque容器。 如果在同一程序中调用多次该函数,则函数将销毁以前元素的值,并重新为容器分配新的元素集。
语法:
deque_name.assign(size, val)
参数: 函数接受以下两个参数:
- size: 它指定要分配给容器的值的数量。
- val: 它指定要分配给容器的值。
返回值 函数不返回任何值。
下面的程序演示了上述函数:
示例 1:
// CPP program to demonstrate the
// deque::assign() function
#include <bits/stdc++.h>
using namespace std;
int main()
{
deque<int> dq;
// assign 5 values of 10 each
dq.assign(5, 10);
cout << "The deque elements: ";
for (auto it = dq.begin(); it != dq.end(); it++)
cout << *it << " ";
// re-assigns 10 values of 15 each
dq.assign(10, 15);
cout << "\nThe deque elements: ";
for (auto it = dq.begin(); it != dq.end(); it++)
cout << *it << " ";
return 0;
}
输出结果:
The deque elements: 10 10 10 10 10
The deque elements: 15 15 15 15 15 15 15 15 15 15
语法:
eque1_name.assign(iterator1, iterator2)
参数: 函数接受以下两个参数:
- iterator1: 它指定指向要转移其元素到deque1的容器(deque、array等)的第一个元素的迭代器。
- iterator2: 它指定指向要转移其元素到deque1的容器(deque、array等)的最后一个元素的迭代器。
返回值: 函数不返回任何值。
下面的程序演示了上述函数:
示例 1:
// CPP program to demonstrate the
// deque::assign() function
#include <bits/stdc++.h>
using namespace std;
int main()
{
deque<int> dq;
// assign 5 values of 10 each
dq.assign(5, 10);
cout << "The deque elements: ";
for (auto it = dq.begin(); it != dq.end(); it++)
cout << *it << " ";
deque<int> dq1;
// assigns all elements from
// the second position to deque1
dq1.assign(dq.begin() + 1, dq.end());
cout << "\nThe deque1 elements: ";
for (auto it = dq1.begin(); it != dq1.end(); it++)
cout << *it << " ";
return 0;
}
输出结果:
The deque elements: 10 10 10 10 10
The deque1 elements:10 10 10 10