#include<iostream>#include<list>usingnamespace std;intmain(){list<int> my_list ={10,20,30};for(auto it = my_list.begin(); it != my_list.end();++it){cout <<*it << endl;}return0;}
# 输出结果10
20
30
反向遍历
#include<iostream>#include<list>usingnamespace std;intmain(){list<int> my_list ={10,20,30};for(auto rit = my_list.rbegin(); rit != my_list.rend();++rit){cout <<*rit << endl;}return0;}
# 输出结果30
20
10
范围 for 循环
#include<iostream>#include<list>usingnamespace std;intmain(){list<int> my_list ={10,20,30};for(int val : my_list){cout << val << endl;}return0;}
# 输出结果10
20
30
五、添加元素
在末尾添加元素
#include<iostream>#include<list>usingnamespace std;intmain(){list<int> my_list ={1,2,3};for(int val : my_list){cout << val << endl;}cout <<"-----"<< endl;my_list.push_back(4);for(int val : my_list){cout << val << endl;}return0;}
# 输出结果1
2
3
-----
1
2
3
4
在开头添加元素
#include<iostream>#include<list>usingnamespace std;intmain(){list<int> my_list ={1,2,3};for(int val : my_list){cout << val << endl;}cout <<"-----"<< endl;my_list.push_front(4);for(int val : my_list){cout << val << endl;}return0;}
# 输出结果1
2
3
-----
4
1
2
3
在指定位置插入元素
#include<iostream>#include<list>usingnamespace std;intmain(){list<int> my_list ={1,2,3};for(int val : my_list){cout << val << endl;}cout <<"-----"<< endl;auto it = my_list.begin();advance(it,1);// 移动到第 2 个位置my_list.insert(it,5);// 在第 2 个位置插入元素for(int val : my_list){cout << val << endl;}return0;}
# 输出结果1
2
3
-----
1
5
2
3
六、删除元素
删除末尾元素
#include<iostream>#include<list>usingnamespace std;intmain(){list<int> my_list ={1,2,3};for(int val : my_list){cout << val << endl;}cout <<"-----"<< endl;my_list.pop_back();for(int val : my_list){cout << val << endl;}return0;}
# 输出结果1
2
3
-----
1
2
删除开头元素
#include<iostream>#include<list>usingnamespace std;intmain(){list<int> my_list ={1,2,3};for(int val : my_list){cout << val << endl;}cout <<"-----"<< endl;my_list.pop_front();for(int val : my_list){cout << val << endl;}return0;}
# 输出结果1
2
3
-----
2
3
删除指定位置元素
#include<iostream>#include<list>usingnamespace std;intmain(){list<int> my_list ={1,2,3};for(int val : my_list){cout << val << endl;}cout <<"-----"<< endl;auto it = my_list.begin();advance(it,1);// 移动到第 2 个位置my_list.erase(it);// 删除第 2 个位置的元素for(int val : my_list){cout << val << endl;}return0;}
# 输出结果1
2
3
-----
1
3
删除(所有等于 5 的元素)元素
#include<iostream>#include<list>usingnamespace std;intmain(){list<int> my_list ={1,2,3,1,2,3};for(int val : my_list){cout << val << endl;}cout <<"-----"<< endl;my_list.remove(3);for(int val : my_list){cout << val << endl;}return0;}
# 输出结果1
2
3
1
2
3
-----
1
2
1
2
清空 list
#include<iostream>#include<list>usingnamespace std;intmain(){list<int> my_list ={1,2,3};for(int val : my_list){cout << val << endl;}cout <<"-----"<< endl;my_list.clear();for(int val : my_list){cout << val << endl;}return0;}