加载中...

list

include

构造函数

  • list l1 // 空链表
  • list l2(3) // 包含三个默认值为0的元素的链表
  • list l3(5,2) // 包含五个值为2的元素的链表
  • list l4(l2) // 建立一个l2的副本叫做l4
  • list l5(l3.begin(),c3.end()) // 建立一个包含从c3的第一个到最后一个元素的链表
  • list l6{1,2,3,4,5} // 包含1、2、3、4、5的链表
  • list::iterator it // 一个int类型的链表迭代器

成员函数

list l

  • l.begin() 返回指向链表第一个元素的迭代器
  • l.end() 返回指向链表最后一个元素的下一个的位置的迭代器
  • l.rbegin() 返回逆向链表的第一个元素的迭代器,即l最后一个元素
    // 编译有错
  • l.rend() 返回逆向链表的最后一个元素的下一个位置的迭代器,即l第一个元素之前的位置
    // 编译有错
  • l.assign(n,a) 将n个a拷贝复制给链表l
  • l.assign(beg,end) 将[begin,end)区间内的元素拷贝赋值给链表l
  • l.front() 返回链表的第一个元素
  • l.back() 返回链表的最后一个元素
  • l.empty() 判断链表是否为空
  • l.size() 返回链表中的个数
  • l.maxsize() 返回链表最大可容纳元素数量
  • l.clear() 清除链表中的元素
  • l.insert(pos,num) 在pos的位置插入元素num
  • l.insert(pos,n,num) 在pos位置插入n个元素num
  • l.insert(pos,beg,end) 在pos位置插入区间为[beg,end)的元素
  • l.erase(pos) 删除pos位置的元素
  • l.push_back(num) 在末尾添加一个元素
  • l.pop_back() 删除末尾一个元素
  • l.push_front(num) 在开始位置插入一个元素
  • l.pop_front() 删除开始位置元素
  • l.resize(n) 重新定义链表l的长度,超出原始长度用0代替,少于原始长度则删除其余部分
  • l.resize(n,num) 重新定义链表l的长度,超出原始长度用num代替,少于原始长度则删除其余部分
  • l.swap(l2) 将l与l2交换
  • swap(l1,l2) 同上
  • l.imerge(l2) 合并两个有序链表l与l2,并有序化存入l中,释放l2
  • l.merge(l2,comp) 合并两个有序链表l与l2,并按照自定义排序之后存入l中,释放l2
  • l.splice(l.beg,l2) 将l2链接在l的beg位置,释放l2
  • l.splice(l.beg,l2,l2.beg) 将l2中l2的beg位置的元素连接到l中beg的位置,并在l2中释放掉l2的beg位置的元素
  • l.splice(l.beg,l2,l2.beg,l2.end) 将l2中[beg,end)范围内的元素连接到l的beg位置,并释放l2中[bug,end)范围内的元素
  • l.remove(num) 删除l中值为num的元素
  • l.remove_if(comp) 删除l中满足条件的元素,参数为自定义的毁掉函数
  • l.reverse() 反转链表
  • l.unique() 删除相邻且相同的元素
  • l.sort() 将链表排序,默认升序
  • l.sort(comp) 自定义毁掉函数实现自定义排序

代码示例

unique

原帖:wolai

posted @ 2022-02-07 22:45  星芒易逝  阅读(225)  评论(0)    收藏  举报