栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++学习笔记—LIst类函数

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++学习笔记—LIst类函数

Emmmm...总看学习的word有点麻烦...云保存到csdn方便点吧....

 转载于....计算机老师的文件。。

push_back(elem);//在容器尾部加入一个元素

pop_back();//删除容器中最后一个元素

push_front(elem);//在容器开头插入一个元素

pop_front();//从容器开头移除第一个元素

insert(pos,elem);//在pos位置插elem元素的拷贝,返回新数据的位置。

insert(pos,n,elem);//在pos位置插入n个elem数据,无返回值。

insert(pos,beg,end);//在pos位置插入[beg,end)区间的数据,无返回值。

clear();//移除容器的所有数据

erase(beg,end);//删除[beg,end)区间的数据,返回下一个数据的位置。

erase(pos);//删除pos位置的数据,返回下一个数据的位置。

remove(elem);//删除容器中所有与elem值匹配的元素。

尾插 --- push_back

尾删 --- pop_back

头插 --- push_front

头删 --- pop_front

插入 --- insert

删除 --- erase

移除 --- remove

清空 --- clear

 

List的构造函数和析构函数

list c

产生一个空list,其中没有任何元素

list c1(c2)

产生另一个同型list的副本(所有的元素都被拷贝)

list c(n)

利用元素的default构造函数产生一个大小为n的list

list c(n,elem)

产生一个大小为n的list,每个元素值都是elem

list c(beg, end)

产生一个list,以区间[beg, end)做为元素初值

c.~list()

销毁所有元素,并释放内存

list的非变动性操作

c.size()

返回容器的大小

c.empty()

判断容器是否为空,等价于size()==0,但可能更快

c.max_size()

返回容器最大的可以存储的元素

reserve()

如果容量不足,扩大之

c1 == c2

判断c1 是否等于c2

c1 != c2

判断c1是否不等于c2

c1 < c2

判断c1 是否小于c2

c1 > c2

判断c1 是否大于c2

c1 <= c2

判断c1是否小于等于c2

c1 >= c2

判断c1是否大于等于c2

list的赋值操作

c1 = c2

将c2的全部元素赋值给c1

c.assign(n, elem)

复制n个elem,复制给c

c.assign(beg, end)

将区间[beg;end)内的元素赋值给c

c1.swap(c2)

将c1和c2元素互换

swap(c1,c2)

同上,此为全局函数

list元素之间存取

c.front

返回第一个元素,不检查元素存在与否

c.back

返回最后一个元素,不检查元素存在与否

list迭代器相关函数

c.begin()

返回一个双向迭代器,指向第一个元素

c.end()

返回一个双向迭代器,指向最后一个元素的下一个位置

c.begin()

返回一个逆向迭代器,指向逆向迭代的第一个元素

c.end()

返回一个逆向迭代器,

指向逆向迭代的最后一个元素的下一个位置

list安插、移除操作函数

c.insert(pos, elem)

在迭代器pos所指位置上安插一个elem副本,

并返回新元素的位置

c.insert(pos,n,elem)

在pos位置上插入n个elem副本,无返回值

c.insert(pos,beg,end)

在pos位置上插入区间[beg,end)内的所有元素的副本

没有返回值

c.push_back(elem)

在尾部添加一个elem副本

c.pop_back()

移除最后一个元素,无返回值

c.push_front()

在头部添加一个elem副本

c.pop_front()

移除第一个元素,但不返回

c.remove(val)

移除所有其值为val的元素

c.remove_if()

c.erase(pos)

移除pos位置上的元素,返回下一个元素的位置

c.erase(beg, end)

移除[beg, end)区间内的所有元素,

返回下一个元素的位置

c.resize(num)

将元素数量改为num(如果size()变大了,

多出来的新元素都需以default构造函数完成)

c.resize(num,elem)

将元素数量改为num(如果size()变大了,

多出来的新元素都elem的副本)

c.clear()

移除所有元素,将容器清空

备注:安插和移除元素,都会使“作用点”之后的各个元素的iterator等失效,若发生内存重新分配,该容器身上的所有iterator等都会失效

List的特殊变动性操作

c.unique()

如果存在若干相邻而数值相等的元素,就移除重复元素,只留下一个

c.unique(op)

如果存在若干相邻元素,都使op()的结果为ture,

则移除重复元素,只留下一个。

c1.splice(pos, c2)

将c2内的所有元素转移到c1之内,迭代器pos之前

c1.splice(pos, c2, c2pos)

将c2内的c2pos所指元素转移到c1之内的pos所指位置上

(c1,c2可相同)

c1.splice(pos, c2,

         c2beg,c2end)

将c2内的[c2beg,c2end)区间内所有元素转移到

c1内的pos之前(c1,c2可相同)

c.sort()

以operator<为准则,对所有元素排序

c.sort(op)

以op()为准则,对所有元素排序

c1.merge(c2)

假设c1和c2容器都包含已序(相同的排序方式)元素,将c2的全部元素转移到c1,并保证合并后的list还是已序。

c1.merge(c2,op)

假设c1和c2容器都包含op()原则下的已序(相同的排序方式)元素,将c2的全部元素转移到c1,并保证合并后的list在op()原则仍是已序。

c.reverse()

将所有元素反序

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/433413.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号