- list
- list 比较
- 插入
- 删除
- remove删除元素
- list 特有
- unique删除重复元素
- 拼接相关操作
- 不支持随机访问
- 高效的插入和删除
- 插入和删除不会使迭代器失效。 删除建议使用remove/remove_if
list
list是C++标准模板库(STL)中的一个容器,用于存储元素的双向链表。它提供了高效的插入和删除操作,但在随机访问方面不如vector高效。
//todo list
# include <iostream>
#include <list>
using namespace std;
void print(list<int> & li){
//使用迭代器遍历list
for(list<int>::iterator it=li.begin();it!=li.end();it++){
cout<<*it<<" ";
}
cout<<endl;
}
int main() {
list<int> li={1,2,3,4,5};
cout<<li.front()<<endl;//1
cout<<li.back()<<endl;//5
print(li);
li.push_back(6);//添加元素
print(li); //1 2 3 4 5 6
li.pop_back();//删除最后一个元素
print(li); //1 2 3 4 5
li.pop_front();//删除第一个元素
print(li);//2 3 4 5
li.sort();//排序
print(li);//2 3 4 5
li.reverse();//反转
print(li);//5 4 3 2
li.remove(3);//删除所有值为3的元素
print(li);//2 4 5
li.unique();//删除重复元素
print(li);//2 4 5
li.resize(1);//调整大小
print(li);//2
li.clear();//清空list
print(li);
li.insert(li.begin(),10);//在第一个位置插入元素
print(li);//10
li.erase(li.begin());//删除第一个元素
print(li);//10
return 0;
}
# if 1
//todo list
#include <iostream>
#include <list>
using namespace std;
void print(list<int> & li){
list<int> ::iterator it ;
for (it=li.begin();it!=li.end();++it){
cout<<*it<<" ";
}
cout<<endl;
}
int main(){
int arr[10]&#