如何在C++ STL中使用构造函数创建列表
列表是一种非常有用的数据结构,在C++中,可以使用STL中的list容器来实现列表。通过构造函数,我们可以很方便地创建list容器,同时为列表中的元素指定初始值。
构造函数创建列表
在STL中,可以使用以下构造函数来创建list容器:
list<数据类型> list_name(n, val);
其中,list_name是列表的名称,n表示列表中元素的个数,val为每个元素的初始值。以下是一个示例代码:
#include <iostream>
#include <list>
using namespace std;
int main() {
list<int> mylist(3, 2018);
list<int>::iterator it;
for (it = mylist.begin(); it != mylist.end(); ++it)
cout << *it << ",";
cout << endl;
return 0;
}
上述代码创建了一个名为mylist的列表,该列表包含3个元素,每个元素的值为2018。输出结果为:
2018,2018,2018,
我们也可以使用以下构造函数创建一个空的列表:
list<数据类型> list_name;
这里的list_name同样是列表的名称,是一个空的列表。以下是一个示例代码:
#include <iostream>
#include <list>
using namespace std;
int main() {
list<int> mylist;
mylist.push_back(1);
mylist.push_back(5);
mylist.push_back(3);
list<int>::iterator it;
for (it = mylist.begin(); it != mylist.end(); ++it)
cout << *it << ",";
cout << endl;
return 0;
}
上述代码创建了一个名为mylist的空列表,接着向该列表中添加了3个元素,分别为1、5、3。输出结果为:
1,5,3,
在C++中,还可以使用以下构造函数创建一个包含另外一个列表所有元素的新列表:
list<数据类型> list_name(list2);
其中,list_name为新列表的名称,list2为另外一个列表的名称。以下是一个示例代码:
#include <iostream>
#include <list>
using namespace std;
int main() {
list<int> mylist1(3, 2018);
list<int> mylist2(mylist1);
list<int>::iterator it;
for (it = mylist2.begin(); it != mylist2.end(); ++it)
cout << *it << ",";
cout << endl;
return 0;
}
上述代码中,创建了一个名为mylist1的列表,包含3个元素,每个元素的值为2018。接着,使用mylist1创建了一个名为mylist2的新列表,mylist2中包含了mylist1中所有元素。输出结果为:
2018,2018,2018,
结论
通过STL中的构造函数,我们可以很方便地创建列表,同时为列表中的元素指定初始值,或者创建一个包含另外一个列表所有元素的新列表。这个功能简单易用,方便开发中的使用。