C++进阶STL-list容器

list 容器

  • 由节点组成,每个节点有两个域,一个存放数据,一个存放地址(指向下一个元素的地址),它的存储控件可以不连续。
  • 不支持随机访问

构造函数

  • list<T> listT   // 采用模板实现,默认构造。
  • list(begin,end)  // 将begin end之间的元素拷贝给自己
  • list(n,element)   // 将n个element拷贝给自己
  • list(const list& listT)   // 拷贝构造

赋值操作

  • assign(begin,end)   //将begin end之间的元素拷贝给本身
  • assign(n,element)  //将n个element拷贝给本身
  • list& operator=(const list& listT)  //重载=操作符
  • swap(listT)  // 本身和listT之间的元素互换

元素的插入和删除

  • push_back(element)   //从尾部插入一个元素
  • push_front(element)   //从开头插入一个元素
  • pop_back()   //从尾部删除一个元素
  • Pop_front()   //从头部删除一个元素
  • insert(pos,element)   // 在pos处插入element
  • insert(pos,n,element)  // 在pos的位置处插入 n个element
  • insert(pos,begin,end)   // 在pos的位置插入 begin 和 end之间的元素
  • erase(begin,end)   //删除begin 和 end 之间的元素
  • erase(pos)   //删除pos的元素,返回下一个元素的地址
  • remove(element)   // 删除容器总所有和element匹配的元素
  • clear()   //删除容器中所有的元素

元素存取

  • front()   //返回第一个元素
  • back()   //返回最后一个元素

容器的大小

  • empty()   //判断容器是否为空
  • size()   //返回容器元素的个数
  • resize(num)   //重新指定容器为num大小,num大于原来的空间,以默认值填充
  • resize(num,element)   //重新指定容器为num大小,num大于原来的空间,以elemnt填充

list 容器的翻转、排序

  • reverse()   //翻转链表 比如1 2 3 变成 3 2 1
  • sort()   //list 排序(list的成员函数,不是算法,默认从小到大,如果不是基础类型,需要制定排序规则,因为算法中的sort只能对支持随机访问的容器进行排序,所以不支持list容器的排序,所以list自己有排序成员方法)

猜你喜欢

转载自blog.csdn.net/zzyczzyc/article/details/82935438