C++算法与数据结构List使用指南

C++算法与数据结构List使用指南

双向链表,可以在常数时间内插入和删除,不支持数组表示法和随机访问



特殊成员函数

merge

将链表b与调用链表合并,合并前,两个链表必须已经排序,合并后经过排序的链表保存在被调用链表中,b为空

a.merge(b);

remove

从链表中删除值为val的元素

a.remove(val);

splice

将链表b的内容插入指定迭代器的前面,b为空

a.splice(next(a.begin(), pos), b);//list不支持随机访问,

reverse

将链表翻转

a.reverse();

sort

对链表排序

a.sort();

unique

将连续相同的元素压缩为一个元素。不连续的元素无法压缩,因此一般先排序再去重

a.unique();

通用成员函数

push_front/push_back

//将指定元素x从链表头或链表尾入
a.push_front(x);
a.push_back(x);
//从链表头或链表尾出
a.pop_front();
a.pop_back();
//返回链表头或链表尾的元素
a.front();
a.back();
//在指定迭代器前插入指定元素x,list不支持随机访问
a.insert(next(a.begin(),pos),x);
//删除指定迭代器的元素
a.erase(next(a.begin(),pos));
//清空list
a.clear();
posted @ 2025-04-13 16:24  DuckingWJ  阅读(26)  评论(0)    收藏  举报