返回
C++ List 总结:全面指南
人工智能
2023-09-04 10:12:22
定义
在 C++ 中,list 是一个双向链表数据结构,允许您在列表中添加、删除和查找元素,而无需指定特定的大小。换句话说,list 是一种可以自动调整大小的容器。
基本操作
list 的基本操作包括:
- 添加元素:可以使用 push_front()、push_back()、insert() 等函数来向列表中添加元素。
- 删除元素:可以使用 pop_front()、pop_back()、erase() 等函数来删除列表中的元素。
- 查找元素:可以使用 find()、find_if() 等函数来查找列表中的元素。
优点
list 的优点包括:
- 插入和删除元素的速度很快,因为不需要移动其他元素。
- 可以轻松地在列表的任意位置插入或删除元素。
- 可以使用迭代器来遍历列表中的元素。
缺点
list 的缺点包括:
- 由于需要维护额外的指针,因此内存开销更大。
- 随机访问元素的速度较慢,因为需要遍历列表中的元素。
使用 resize() 改变 list 的大小
resize() 函数可用于改变 list 的大小。如果 resize() 函数的参数小于 list 的当前大小,则 list 的大小将被缩小,多余的元素将被删除。如果 resize() 函数的参数大于 list 的当前大小,则 list 的大小将被扩大,新元素将被添加到列表的末尾。
实际案例
以下是一个使用 list 的示例:
#include <list>
#include <iostream>
using namespace std;
int main() {
// 创建一个 list
list<int> myList;
// 向列表中添加一些元素
myList.push_back(1);
myList.push_back(2);
myList.push_back(3);
// 遍历列表并打印每个元素
for (list<int>::iterator it = myList.begin(); it != myList.end(); ++it) {
cout << *it << " ";
}
cout << endl;
// 从列表中删除一个元素
myList.remove(2);
// 再次遍历列表并打印每个元素
for (list<int>::iterator it = myList.begin(); it != myList.end(); ++it) {
cout << *it << " ";
}
cout << endl;
return 0;
}
输出:
1 2 3
1 3