C++ STL 中的 forward_list assign() 函数
本任务旨在展示 C++ 中 forward_list assign() 函数的工作原理。
与普通的 list 保留下一个和前一个元素的链接不同,forward_list 只保留与下一个元素的链接,这有助于向前和向后迭代。但 forward_list 只能向前迭代。
forward_list::assign() 函数是 C++ 标准模板库的一部分。它用于在 forward_list 中插入元素,如果列表已经包含一些元素,则它们会被用户添加的新元素替换。
需要包含 <forward_list> 头文件才能调用此函数。
语法
此函数有 3 种语法。每种对应不同的方法:
- Forward_list_name.assign(initializer_list);
- Forward_list_name.assign(iterator itr1 , iterator itr2);
- Forward_list_name.assign(count, value);
参数
Initializer_list - 在第一种情况下,forward_list 获取作为初始化列表传递给它的值,顺序完全相同。
Iterator - 在第二种情况下,forward_list 获取迭代器 itr1 和 itr2 指向的值之间的值。这也包括 itr1 指向的值,但不包括 itr2 指向的值。
count 和 value - 在第三种情况下,参数“count”指的是要插入到 forward_list 中的元素数量,“value”指的是要分配给每个元素的值。
position,表示要放置新元素的位置,value,表示要插入到列表中的元素。
返回值
该函数不返回值。
示例
Input: assign(5,1) Output: 1 1 1 1 1
解释 -
这里我们创建了一个 int 类型的 forward_list “Lt”。然后我们使用 assign 函数使用参数 count 和 value 为列表赋值。
这将列表“Lt”分配了 5 个元素,每个元素的值为 1,生成了输出 1 1 1 1 1。
下面程序中使用的步骤如下:
- 首先创建三个 int 类型的 forward_list,假设为“Lt1”、“Lt2”和“Lt3”。
- 然后使用 assign() 函数为 Lt1 分配元素,将初始化列表作为参数传递。
- 然后使用 assign 函数为 Lt2 分配元素,将 count 和 value 作为参数传递。
- 然后使用 assign 函数为 Lt3 分配元素,将两个迭代器作为参数传递,假设分别指向列表 Lt1 的初始位置和最终位置。
算法
Start Step 1->In function main() Declare forward_lists<int> Lt1,Lt2,Lt3 Call Lt1.assign(initialize list) Call Lt2.assign(count,value) Call Lt3.assign(L1.begin(),Lt2.end()) Stop
示例
#include <forward_list>
#include <iostream>
using namespace std;
int main() {
forward_list<int> Lt1;
forward_list<int> Lt2;
forward_list<int> Lt3;
//assigning elements to Lt1
Lt1.assign({4,9,7,8});
//assigning elements to Lt2
Lt2.assign(3,6);
//assigning elements to Lt2
Lt3.assign(Lt1.begin(),Lt1.end());
// Display the lists
cout << "Lt1: ";
for (int& D : Lt1)
cout << D << " ";
cout << endl;
// Display Lt2
cout << "Lt2: ";
for (int& D : Lt2)
cout << D << " ";
// Display Lt3
cout << "Lt3: ";
for (int& D : Lt3)
cout << D << " ";
return 0;
}输出
如果我们运行以上代码,它将生成以下输出:
Lt1: 4 9 7 8 Lt2: 6 6 6 Lt3: 4 9 7 8
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP