本篇学习list的删除操作
clear:清除内容
erase:擦除元素
pop_front:移除首元素
pop_back:移除末元素
代码实现
#include <list>
#include <iostream>
#include <sstream>
#include <time.h>
using namespace std;
void deleteElement()
{
//1.clear擦除内容
list<int> list1 = {22, 25, 27, 30, 33};
cout << "list1 的值: ";
for(auto &val: list1)
cout << val << "\t";
cout << endl;
cout << "list1.size = " << list1.size() << endl;
list1.clear();
cout << "list1.size = " << list1.size() << endl;
//2.erase:擦除元素
list<int> list2 = {36, 39, 41, 42};
auto it1 = list2.erase(list2.begin());//擦除首元素,即删除36,返回25
cout << "it1 = " << *it1 << endl;
cout << "list2 的值: ";
for(auto &val: list2)
cout << val << "\t";
cout << endl;
//擦除范围
list<int> list3 = {43, 44, 45, 46, 47, 48, 49};
auto begin = std::next(list3.begin());
auto end = std::next(list3.begin(), 4);
--end;
cout << "begin = " << *begin << endl;
cout << "end = " << *end << endl;
cout << "list3 的值: ";
for(auto &val: list3)
cout << val << "\t";
cout << endl;
//3.pop_front:移除首元素
list3.pop_front();//无返回值
cout << "list3 的值: ";
for(auto &val: list3)
cout << val << "\t";
cout << endl;
//4.pop_back:移除末元素
list<int> list4 = {50, 51, 52, 53};
cout << "list4 的值: ";
for(auto &val: list4)
cout << val << "\t";
cout << endl;
list4.pop_back();
cout << "list4 的值: ";
for(auto &val: list4)
cout << val << "\t";
cout << endl;
cout << endl;
}
int main()
{
deleteElement();
cout << endl;
cout << " Hello World!" << endl;
return 0;
}
运行结果:
参考:
http://www.cplusplus.com/reference/list/list/
https://zh.cppreference.com/w/cpp/container/list