标准模板库中的链表(list)

Posted toya

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了标准模板库中的链表(list)相关的知识,希望对你有一定的参考价值。

//C++数据结构与算法(第4版) Adam Drozdek 著  徐丹  吴伟敏<<清华大学出版社>>

头文件:include<list>

list()  创建一个空链表

list(size_type n, const T& el=T())  创建一个链表,其中包含el的n个副本

list(iterator first, itsrator last)  创建一个链表,其中包含迭代器first及last所指范围内的元素

list(const list<T>& lst)  复制构造函数

void assign(iterator first, iterator last)  删除链表中所有的节点,并在迭代器first和last所指出的范围内插入元素

void assign(size_type n, el const T& el=T())  删除链表中的所有节点,并在其中插入el的n个副本(如果没有提供el,就使用默认构造函数T())

T& back()  返回链表最后一个节点中的元素

const T& back() const  返回链表最后一个节点中的元素

iterator begin()  返回引用链表中第一个节点的迭代器

iterator end()  返回一个迭代器,该迭代器指向链表最后一个节点之后的位置

const_iterator begin() const  返回引用链表中第一个节点的迭代器

const_iterator end() const  返回一个迭代器,该迭代器指向链表最后一个节点之后的位置

void clear()  删除链表中的所有节点

bool empty() const  如果链表中不包含元素返回true,否则返回false

iterator erase(iterator i)  删除迭代器i所引用的节点,返回一个迭代器,该迭代器指向被删除节点之后的元素

T& front()  返回链表中第一个节点中的元素

const T& front() const  返回链表中第一个节点中的元素

iterator insert(iterator i, const T& el=T())  在迭代器i引用的节点之前插入el,并返回引用新节点的迭代器

void insert(iterator i, size_type n,const T& el)  在迭代器i引用的节点之前插入el的n个副本

void insert(iterator i, iterator first,iterator last)  在迭代器i引用的节点前,插入first到last位置中的元素

size_type max_size() const  返回链表的最大节点数

void merge(list<T>& lst)  对有序表和lst,,从lst中删除全部节点,并将其有序的插入到当前链表中

void merge(list<T>& lst, Com pf)  对有序链表和lst,从lst中删除全部节点,并以函数f()指定的顺序将其插入到当前链表中

void pop_back()  删除链表的最后一个节点

void pop_fornt()  删除链表的第一个节点

void push_back(constT& el)  在链表尾插入el

void push_fornt(const T& el)  在链表头插入el

void remove(const T& el)  从链表中删除包含el的全部节点

void remove_if(Pred f)  删除使布尔函数f返回true的节点,f()具有一个参数

void resize(size_type n,const T& el=T())  添加n-size()个包含元素el的节点,或者从链表尾部删除多余的size()-n个节点,使链表具有n个节点

void reverse()  反转链表

reverse_iterator rbegin()  返回引用链表中最后一个节点的迭代器

const_reverse_iterator rbegin() const  返回引用链表中最后一个节点的迭代器

reverse_iterator rend()  返回位于链表第一个节点之前的迭代器

const_reverse_iterator rend() const  返回位于链表第一个节点之前的迭代器

size_type size() const  返回链表中节点的数目

void sort()  将链表中的元素按照升序排列

void sort(Comp f)  按照单参数Boolean函数f()指定的顺序对链表中的元素进行排序

Void splice(iterator i, list<T>& lst,iterator j)  从链表lst中删除迭代器j所引用的节点,并将其插入到迭代器i所引用的位置之前

void splice(iterator i, list<T>& lst, iterator first, iterator last)  从链表lst中删除迭代器first和last所指范围内的节点,并将其插入到迭代器i所引用的位置之前

void swap(list<T>& lst)  将链表的内容与另一个链表lst的内容交换

void unique()  从有序链表中删除重复的元素

void unique(Comp f)  从有序链表中删除由Boolean函数f()指定的重复元素,f()具有两个参数  

 

返回C++ STL

以上是关于标准模板库中的链表(list)的主要内容,如果未能解决你的问题,请参考以下文章

VC++如何使用C++ STL标准模板库中的算法函数(附源码)

标准模板库中的向量(vector)

《深入实践C++模板编程》之六——标准库中的容器

标准模板库中的优先队列(priority_queue)

标准模板库

C++中能不能用结构体模板