1. #include<list> :头文件

  1. list<int>a; :定义一个int类型的链表a

  1. int arr[5]={1,2,3,4,5};list<int> a(arr,arr+3); :数组arr中的前3个元素作为链表a的初始值

  1. a.size() :返回链表的结点数量

  1. list<int>::iterator it; :定义一个名为it的迭代器(指针)

  1. a.begin();a.end(); :链表开始和末尾的迭代器指针

  1. ++it;--it; :迭代器指向后一个和前一个元素(建议写成前置形式)

  1. a.push_front(x);a.push_back(x); :在链表开头或者末尾插入元素x

  1. a.insert(it,x) :在迭代器it的前面插入元素x;

  1. a.pop_front();a.pop_back(); :删除链表的开头或者末尾

  1. a.erase(it) :删除迭代器it所在的元素

  1. for(it=a.begin();it!=a.end();it++) :遍历链表

注意1:list的迭代器不支持it += x或it1 - it2这样的运算,也不支持<,<=等运算符。

注意2:如果要删除元素,一定要备份出来一个迭代器;否则it原来指向的结点删除后就不复存在,导致询问下一个结点时会访问无效内存(即,在删除之后it就失效了,除非给it重新赋值,否则对它的任何操作都会导致错误! )