list<int>nodes(10); //创建一个包含十个元素且值均为0的list 这个list的名字叫做nodes
list<int>nodes(10,3); //创建一个包含十个元素且值均为3的list
list<int>nodes({1,2,3,4,5,6,7,8,9,10}); //直接初始化任意的值和大小
初学者直接把迭代器理解成指针就行 不然很难理解
list<int>::iterator pointer1=nodes.begin(); //相当于创建一个迭代器pointer1指向第一个元素
auto pointer2=nodes.begin(); //相当于创建一个指针pointer2指向第一个元素
auto pointer3=nodes.end(); //相当于创建一个指针pointer3指向最后一个元素的下一位
nodes.assign(10,1); //把nodes里面的元素替换成10个1
nodes.assign({10,9,8,7,6,5,4,3,2,1}); //把nodes里面的元素替换成10,9,8,7,6,5,4,3,2,1
cout<<nodes.front(); //打印第一个元素
cout<<nodes.back(); //打印最后一个元素
nodes.clear(); //清空所有的元素
if(nodes.empty()); //如果List为空
nodes.erase(pointer1); //里面要写迭代器(也就是指针)删除指针所指的元素
nodes.erase(--pointer3); //删除最后一个元素
nodes.erase(nodes.begin(),nodes.end()); //删除所有的元素
nodes.insert(pointer1,99); //在pointer1所指的元素前面插一个99
auto it=nodes.insert(pointer1,99); //在pointer1所指的元素前面插一个99并返回这个99元素的迭代器
auto it=nodes.insert(next(pointer1),99); //迭代器it指向pointer1所指的元素的下一位的元素,相当于在pointer1所指的元素的右边添加一个99,如果用++pointer1的话此时pointer1指向end(如果pointer1指向的是最后一个元素的话)那么此时会报错
nodes.pop_front(); //删除第一个元素
nodes.pop_back(); //删除最后一个元素
nodes.push_front(25); //在list的最前面插入一个值为25的元素
nodes_push_back(25); //在list的最后面插入一个值为25的元素
nodes.resize(20); //把体积扩大成20
nodes.reverse(); //把所有的元素倒转一下 (原来1 2 3 现在 3 2 1)
cout<<nodes.size(); //打印有多少个元素