C++ STL中的forward_list assign()函数

C++ STL中的forward_list assign()函数

forward_list :: assign()是C ++ STL中的函数,它为一个前向列表分配新的内容,替换其当前内容并根据需要调整其大小。

语法:

版本1: forward_list_name.assign(iterator it1,iterator it2)
版本2: forward_list_name.assign(int n,val)
版本3: forward_list_name.assign(initializer_list li)

参数: 此函数在不同版本中接受不同参数,下面讨论这些参数:

  • 迭代器: 第一个版本将两个迭代器作为参数。从范围[it1,it2)中的每个元素构造新元素,即包括it1和it2之间的所有元素,包括it1解引用的元素,但排除it2指向的元素。
  • n和val: 在第二个版本中,创建n个元素,并使用值val初始化每个元素。
  • initializer_list: 在第三个版本中,创建的新内容以与传递的初始化器列表中的值的副本相同的顺序初始化。

返回值 此函数不返回任何值。

以下程序说明了函数forward_list ::assign的三个版本:

程序1:

// CPP code to illustrate the
// forward_list::assign() function
#include <forward_list>
#include <iostream>
using namespace std;

int main()
{
forward_list<int> sample1;
forward_list<int> sample2;

// Create n elements in
// sample1 and initialize all
// Of them with 3
sample1.assign(5, 3);

// Initialize sample2 with elements in
// the range [sample1.begin(), sample1.end)
sample2.assign(sample1.begin(), sample1.end());

// Display sample1
cout << "sample1: ";
for (int& x : sample1)
cout << x << " ";

cout << endl;

// Display sample2
cout << "sample2: ";
for (int& x : sample2)
cout << x << " ";
}

输出:

sample1: 3 3 3 3 3 
sample2: 3 3 3 3 3

程序2:

// CPP code to illustrate the
// forward_list::assign() function
#include <forward_list>
#include <iostream>
using namespace std;

int main()
{
forward_list<int> sample;

// Initialize sample with an
// Initialization list
sample.assign({ 4, 5, 7, 8, 9, 45 });

// Display sample
cout << "sample: ";
for (int& x : sample)
cout << x << " ";
}

输出:

sample: 4 5 7 8 9 45

时间复杂度: O(n)

辅助空间: O(n)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 教程