C++中list的使用方法及常用list操作总结
在C++中,list是一个非常常用的STL容器,它能够动态地存储数据,并且对数据的访问、插入、删除等操作都非常高效。本篇文章将介绍C++中list的使用方法及常用list操作的总结。
1. list的定义
在使用list之前,需要包含头文件<list>
。list的定义方式如下:
#include <list>
using namespace std;
list<int> myList;
其中,list<int>
表示定义了一个存储int
类型数据的list容器,myList
就是定义的list对象。
2. list的基本操作
2.1 插入操作
- 在list的末尾插入一个元素:
myList.push_back(10);
- 在list的头部插入一个元素:
myList.push_front(20);
- 在list的指定位置插入一个元素:
myList.insert(myList.begin(), 30);
2.2 删除操作
- 删除list末尾的元素:
myList.pop_back();
- 删除list头部的元素:
myList.pop_front();
- 删除list中指定位置的元素:
myList.erase(myList.begin());
2.3 访问操作
- 获取list正向迭代器的首元素:
int first = *myList.begin();
- 获取list正向迭代器的尾元素:
int last = *(--myList.end());
- 遍历list中的所有元素:
for (auto iter = myList.begin(); iter != myList.end(); ++iter) {
cout << *iter << " ";
}
2.4 修改操作
- 修改list中指定位置的元素:
*myList.begin() = 40;
3. list常用函数总结
3.1 容量相关函数
size()
:返回list中元素的个数。empty()
:如果list为空,则返回true。max_size()
:返回list容器所能容纳的最大元素个数。
3.2 插入操作相关函数
push_back(val)
:在list末尾插入一个元素val
。push_front(val)
:在list头部插入一个元素val
。insert(pos, val)
:在list的指定位置pos
插入一个元素val
。insert(pos, n, val)
:在list的指定位置pos
插入n个值为val
的元素。insert(pos, first, last)
:在list的指定位置pos
插入另一个list[first, last)
。
3.3 删除操作相关函数
pop_back()
:删除list末尾的元素。pop_front()
:删除list头部的元素。erase(pos)
:删除list中指定位置pos
的元素。erase(first, last)
:删除list中从first
到last
之间的元素。
3.4 访问操作相关函数
front()
:返回list的头元素。back()
:返回list的尾元素。
3.5 修改操作相关函数
assign(first, last)
:清空list中原有元素,将[first, last)
内的元素赋值给list。assign(n, val)
:清空list中原有元素,将n个值为val
的元素赋值给list。
4. 示例说明
4.1 list的插入操作示例
本例子说明如何插入元素到list中,并使用迭代器遍历结果。
#include <iostream>
#include <list>
using namespace std;
int main() {
list<int> myList;
myList.push_back(100);
myList.push_back(200);
myList.push_front(50);
myList.insert(myList.begin(), 10);
myList.insert(myList.end(), 300);
// 遍历list
for (auto iter = myList.begin(); iter != myList.end(); ++iter) {
cout << *iter << " ";
}
cout << endl;
return 0;
}
输出结果为:
10 50 100 200 300
4.2 list的删除操作示例
本例子说明如何删除list中的元素,并使用迭代器遍历结果。
#include <iostream>
#include <list>
using namespace std;
int main() {
list<int> myList;
myList.push_back(100);
myList.push_back(200);
myList.push_back(300);
// 删除list中第二个元素
auto iter = myList.begin();
advance(iter, 1);
myList.erase(iter);
// 遍历list
for (auto iter = myList.begin(); iter != myList.end(); ++iter) {
cout << *iter << " ";
}
cout << endl;
return 0;
}
输出结果为:
100 300
5. 总结
本篇文章介绍了C++中list的定义、基本操作和常用函数等知识点,并给出了两个示例用于说明list的插入、删除操作。希望本文能够帮助大家更好地理解和使用list。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++中list的使用方法及常用list操作总结 - Python技术站