list链表的使用
可以进行前后互相关联
forward_lst只能往前链接
形式:
list<int> lst;
或者
struct Node{
int a;
char b;
double d;}
//无参形式
list<Node>lst1();
有一个参数形式
list<Node>lst2(5);
void fun(Node& c){
cout<<c.a<<" "<<<int>c.b;
}
for_each(lst2.begin(),lst2.end(),fun);
有两个参数形式:
void fun(Node& c){
cout<<c.a<<" "<<<c.b;
}
Node n={10,"a"};
list<Node>list3(5,n);
for)each(list3.begin(),list3.end(),fun);
迭代器方法
struct Node{int a,char c}
void fun(Node& b){cout<<b.a<<" "<<endl;
list<Node>list(6,"a");
list <Node>::iterator ite=list.begin();
for_each(ite,list.end(),fun);
输出&添加//
void ListDefine(){
Node no{6,a};
for_each(ls.begin(),ls.end(),fun);
//头添加
ls.push.front(Node(12,'a'));
//尾添加
ls.push.back(Node(14,'c'));
//中间位置插入一个元素
ls.insert(iteator ,Node(14,'d'));
}
删除
ls.pop_front();
ls.pop_back();
迭代器
list<Node>::iteator it =ls.begin();
ls.erase(it,Node(12,'a'));
删除
ls.clear();
删除整个链表里面的元素
ls.remove();
改
ls.front();
ls.back();
list<node>ls;
//重新赋值
ls.assgin(3,node(4,'a');