STL 中的 list 容器添加元素有多种方法,我们可以使用 push_front()、push_back()、emplace_front()、emplace_back() 等四种方法。
成员函数 | 功能 |
---|---|
push_back() | 向 list 容器最后一个元素后添加新元素。 |
push_front() | 向 list 容器首个元素前添加新元素。 |
emplace_back() | 在容器最后一个元素后直接生成新的元素。 |
emplace_front() | 在容器首个元素前直接生成新的元素。 |
使用 push_front 给 list 追加元素
#include <iostream>
#include <list>
using namespace std;
int main()
{
cout << "嗨客网(www.haicoder.net)\n" << endl;
list<string> vec;
vec.push_front("HaiCoder");
vec.push_front("www.haicoder.net");
for (auto&& value : vec)
{
cout << "Val = " << value << endl;
}
return 0;
}
因为,这里需要使用 C++ 11,因此,我们在 Linux 下使用 g++ 进行编译,具体命令如下:
g++ list.cpp -std=c++11
编译后,我们直接运行生成的二进制文件 a.out
,如下图所示:
我们看到,我们使用了 push_back 将元素添加到了 list 的开始。
使用 push_back 给 list 追加元素
#include <iostream>
#include <list>
using namespace std;
int main()
{
cout << "嗨客网(www.haicoder.net)\n" << endl;
list<string> vec;
vec.push_back("HaiCoder");
vec.push_back("www.haicoder.net");
for (auto&& value : vec)
{
cout << "Val = " << value << endl;
}
return 0;
}
编译后,我们直接运行生成的二进制文件 a.out
,如下图所示:
我们看到,我们使用了 push_back 将元素添加到了 list 的结尾。
使用 emplace_back 给 list 追加元素
#include <iostream>
#include <list>
using namespace std;
int main()
{
cout << "嗨客网(www.haicoder.net)\n" << endl;
list<string> vec;
vec.emplace_back("HaiCoder");
vec.emplace_back("www.haicoder.net");
for (auto&& value : vec)
{
cout << "Val = " << value << endl;
}
return 0;
}
编译后,我们直接运行生成的二进制文件 a.out
,如下图所示:
我们看到,我们使用了 emplace_back 将元素添加到了 list 的结尾。
使用 emplace_front 给 list 追加元素
#include <iostream>
#include <list>
using namespace std;
int main()
{
cout << "嗨客网(www.haicoder.net)\n" << endl;
list<string> vec;
vec.emplace_front("HaiCoder");
vec.emplace_front("www.haicoder.net");
for (auto&& value : vec)
{
cout << "Val = " << value << endl;
}
return 0;
}
编译后,我们直接运行生成的二进制文件 a.out
,如下图所示:
我们看到,我们使用了 emplace_front 将元素添加到了 list 的开始。
STL 中的 list 容器添加元素有多种方法,我们可以使用 push_front()、push_back()、emplace_front()、emplace_back() 等四种方法。