list迭代器

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');

原文地址:https://www.cnblogs.com/X404/p/14022263.html