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();

浙公网安备 33010602011771号