c++list容器(c++list容器的所有函数)
简介:
C++中的STL容器提供了方便的数据结构,其中之一就是C List容器。C List容器是一个双向链表,可以在容器的首部、尾部、或者指定位置添加、删除元素。本文将详细介绍C List容器的使用方法。
多级标题:
一、C List容器的定义与初始化
二、C List容器的插入
三、C List容器的删除
四、C List容器的访问
五、C List容器的遍历
六、C List容器的排序
内容详细说明:
一、C List容器的定义与初始化
定义C List容器使用以下代码:
```
#include
using namespace std;
list
```
以上代码定义了一个空的C List容器`mylist`,可以向其中添加元素。
如果需要在容器中存储其他数据类型,只需将`int`替换为相应的数据类型即可。
初始化C List容器并添加元素的方法有以下两种:
1.使用push_back()和push_front()函数向容器的末尾和开头添加元素,示例代码如下:
```
#include
using namespace std;
int main()
list
mylist.push_back(1);
mylist.push_back(2);
mylist.push_front(0);
return 0;
```
2.使用初始化列表(initializer_list)向容器中添加元素,示例代码如下:
```
#include
using namespace std;
int main()
list
return 0;
```
二、C List容器的插入
在C List容器中,可以在任意位置插入元素。以下是三种常用的插入方法。
1.使用insert()函数在指定位置插入元素,示例代码如下:
```
#include
using namespace std;
int main()
list
list
mylist.insert(it, 0); //在指定位置插入元素0
return 0;
```
2.使用insert()函数在指定位置插入指定数量的元素,示例代码如下:
```
#include
using namespace std;
int main()
list
list
mylist.insert(it, 2, 0); //在指定位置插入2个元素0
return 0;
```
3.使用insert()函数在指定位置插入另一个C List容器的元素,示例代码如下:
```
#include
using namespace std;
int main()
list
list
list
mylist1.insert(it, mylist2.begin(), mylist2.end()); //在指定位置插入mylist2的元素
return 0;
```
三、C List容器的删除
C List容器提供了remove()和erase()函数来删除元素。
以下是两种常用的删除方法。
1.使用remove()函数删除指定值的元素,示例代码如下:
```
#include
using namespace std;
int main()
list
mylist.remove(2); //删除元素2
return 0;
```
2.使用erase()函数删除指定位置或指定范围的元素,示例代码如下:
```
#include
using namespace std;
int main()
list
list
list
it2++; it2++; //it2指向第二个元素
mylist.erase(it1, it2); //删除从开头到第二个元素(不包括第二个元素)
return 0;
```
四、C List容器的访问
可以通过下标访问C List容器中的元素,但是C List容器没有提供下标运算符,需要使用`std::advance()`函数和迭代器来访问指定位置的元素。以下是两种访问方法:
1.使用std::advance()函数和迭代器访问指定位置的元素,示例代码如下:
```
#include
#include
using namespace std;
int main()
list
list
advance(it, 1); //it向后移动一位
cout << *it << endl; //输出it所指向的元素
return 0;
```
2.使用begin()和end()函数访问指定范围内的元素,示例代码如下:
```
#include
#include
using namespace std;
int main()
list
for (list
{
cout << *it << " "; //输出it所指向的元素
}
cout << endl;
return 0;
```
五、C List容器的遍历
C List容器可以通过迭代器来遍历,以下是两种遍历方法。
1.使用for循环和迭代器遍历,示例代码如下:
```
#include
#include
using namespace std;
int main()
list
for (list
{
cout << *it << " "; //输出it所指向的元素
}
cout << endl;
return 0;
```
2.使用auto和范围for循环遍历,示例代码如下:
```
#include
#include
using namespace std;
int main()
list
for (auto i : mylist)
{
cout << i << " "; //输出i
}
cout << endl;
return 0;
```
六、C List容器的排序
C List容器可以使用sort()函数进行排序,从而方便地获取按照一定顺序排列的元素。
示例代码如下:
```
#include
#include
using namespace std;
int main()
list
mylist.sort(); //排序
for (auto i : mylist)
{
cout << i << " "; //输出i
}
cout << endl;
return 0;
```
以上就是关于C List容器使用的详细介绍,希望对读者有所帮助。