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.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