ist.size();

//返回容器中元素的个数

 1 #include <iostream>
2 #include <list>
3
4 using namespace std;
5
6 int main()
7 {
8 int num[] = { 111,222,333,444,555 };
9 list<int> listInt_A(num, num + size(num));
10
11 cout << "容器中的元素数量为:" << listInt_A.size() << endl;
12
13 return 0;
14 }

打印结果:

list.empty();

//判断容器是否为空

 1 #include <iostream>
2 #include <list>
3
4 using namespace std;
5
6 int main()
7 {
8 int num[] = { 111,222,333,444,555 };
9 list<int> listInt_A(num, num + size(num));
10 list<int> listInt_B;
11
12 if (listInt_A.empty()) //如果不为空将会返回false,如果为空返回 ture
13 {
14 cout << "listInt_A 容器为空" << endl;
15 }
16 else
17 {
18 cout << "listInt_A 容器不为空" << endl;
19 }
20
21 if (listInt_B.empty()) //如果不为空将会返回false,如果为空返回 ture
22 {
23 cout << "listInt_B 容器为空" << endl;
24 }
25 else
26 {
27 cout << "listInt_B 容器不为空" << endl;
28 }
29
30 return 0;
31 }

打印结果:

list.resize(num);

//重新指定容器的长度为num,若容器变长,则以默认值0填充新位置。如果容器变短,则末尾超出容器长度的元素被删除

 1 #include <iostream>
2 #include <list>
3
4 using namespace std;
5
6 int main()
7 {
8 int num[] = { 111,222,333,444,555 };
9 list<int> listInt_A(num, num + size(num));
10
11 cout << "resize 前遍历 listInt_A:" << endl;
12 for (list<int>::iterator it = listInt_A.begin(); it != listInt_A.end(); it++)
13 {
14 cout << *it << " ";
15 }
16 cout << endl;
17
18 //使用 resize 重新指定容器长度
19 listInt_A.resize(9);
20 cout << "resize 扩充至9个元素后遍历 listInt_A:" << endl;
21 for (list<int>::iterator it = listInt_A.begin(); it != listInt_A.end(); it++)
22 {
23 cout << *it << " ";
24 }
25 cout << endl;
26
27 //使用 resize 重新指定容器长度
28 listInt_A.resize(3);
29 cout << "resize 删减至3个元素后遍历 listInt_A:" << endl;
30 for (list<int>::iterator it = listInt_A.begin(); it != listInt_A.end(); it++)
31 {
32 cout << *it << " ";
33 }
34 cout << endl;
35
36 return 0;
37 }

打印结果:

list.resize(num, elem);

//重新指定容器的长度为num,若容器变长,则以elem值填充新位置。如果容器变短,则末尾超出容器长度的元素被删除

 1 #include <iostream>
2 #include <list>
3
4 using namespace std;
5
6 int main()
7 {
8 int num[] = { 111,222,333,444,555 };
9 list<int> listInt_A(num, num + size(num));
10
11 cout << "resize 前遍历 listInt_A:" << endl;
12 for (list<int>::iterator it = listInt_A.begin(); it != listInt_A.end(); it++)
13 {
14 cout << *it << " ";
15 }
16 cout << endl;
17
18 //使用 resize 重新指定容器长度
19 listInt_A.resize(9, 888);
20 cout << "resize 扩充至9个元素后遍历 listInt_A:" << endl;
21 for (list<int>::iterator it = listInt_A.begin(); it != listInt_A.end(); it++)
22 {
23 cout << *it << " ";
24 }
25 cout << endl;
26
27 //使用 resize 重新指定容器长度
28 listInt_A.resize(3);
29 cout << "resize 删减至3个元素后遍历 listInt_A:" << endl;
30 for (list<int>::iterator it = listInt_A.begin(); it != listInt_A.end(); it++)
31 {
32 cout << *it << " ";
33 }
34 cout << endl;
35
36 return 0;
37 }

打印结果:

=====================================================================================================================

STL——容器(List)list 的大小操作的更多相关文章

  1. STL容器能力一览表和各个容器操作函数异常保证

    STL容器能力一览表 Vector Deque List Set Multiset map Multimap 典型内部 结构 dynamic array Array of arrays Doubly ...

  2. STL容器的适用情况

     转自http://hsw625728.blog.163.com/blog/static/3957072820091116114655254/ ly; mso-default-props:yes; m ...

  3. STL容器与配接器

    STL容器包括顺序容器.关联容器.无序关联容器 STL配接器包括容器配接器.函数配接器 顺序容器: vector                             行为类似于数组,但可以根据要求 ...

  4. STL容器的本质

    http://blog.sina.com.cn/s/blog_4d3a41f40100eof0.html 最近在学习unordered_map里面的散列函数和相等函数怎么写.学习过程中看到了一个好帖子 ...

  5. STL容器的内存分配

    这篇文章参考的是侯捷的<STL源码剖析>,所以主要介绍的是SGI STL实现版本,这个版本也是g++自带的版本,另外有J.Plauger实现版本对应的是cl自带的版本,他们都是基于HP实现 ...

  6. STL容器总结

    一. 种类: 标准STL序列容器:vector.string.deque和list. 标准STL关联容器:set.multiset.map和multimap. 非标准序列容器slist和rope.sl ...

  7. C++ STL中Map的相关排序操作:按Key排序和按Value排序 - 编程小径 - 博客频道 - CSDN.NET

    C++ STL中Map的相关排序操作:按Key排序和按Value排序 - 编程小径 - 博客频道 - CSDN.NET C++ STL中Map的相关排序操作:按Key排序和按Value排序 分类: C ...

  8. STL - 容器共性机制研究

    C++模板是容器的概念. 理论提高:所有容器提供的都是值(value)语意,而非引用(reference)语意.容器执行插入元素的操作时,内部实施拷贝动作.所以STL容器内存储的元素必须能够被拷贝(必 ...

  9. 关于STL容器

    容器: 概念:如果把数据看做物体,容器就是放置这些物体的器物,因为其内部结构不同,数据摆放的方式不同,取用的方式也不同,我们把他们抽象成不同的模板类,使用时去实例化它 分类: 序列容器.关联容器.容器 ...

  10. STL容器底层数据结构的实现

    C++ STL 的实现: 1.vector      底层数据结构为数组 ,支持快速随机访问   2.list            底层数据结构为双向链表,支持快速增删   3.deque     ...

随机推荐

  1. PVE 下的虚拟机磁盘扩容

    扩容背景:一台测试机磁盘不足,需要扩容: /dev/mapper/centos-root 40G 40G 20K 100% / 先到PVE网页上对需要扩容的机器扩容,这里新建20G示例: 另外之前也分 ...

  2. pandas 生成html文档,支持可添加多个表

    如何通过pandas生成html格式?如何通过pandas生成html文件文件中包含多个表单Balance_64_data = pd.read_sql(Balance_64_sql,engine)df ...

  3. 详解FL Studio压缩器——Fruity Limiter(下)

    Hello!小伙伴们又见面啦-接上一篇,本篇咱们继续讲解音乐编曲软件FL Studio20压缩器内容. 包络"ENVELOPE"中包含三个旋钮,它们都有什么作用呢?一起来揭晓吧! ...

  4. CleanMyMac X“断网激活”真的能激活软件吗?

    CleanMyMac X帮助Mac系统进行垃圾清理,清除多余的缓存.应用程序等,在提高工作效率上起了很大的作用.但是随着对软件的需求不断增加,很多人开始研究通过捷径破解正版软件,但是是否能成功呢?今天 ...

  5. H5系列之常用的语义元素

    H5添加了几个新标签,带有语义化的标签,像我们的div 和 span 标签,你说他两能干嘛呢, 好像他两什么事都能干.举个例子,你家里的房子,有几个房间,如果不分房间的话,是不是你 今天睡这里,明天睡 ...

  6. Pytest自动化测试 - 必知必会的一些插件

    Pytest拥有丰富的插件架构,超过800个以上的外部插件和活跃的社区,在PyPI项目中以" pytest- *"为标识. 本篇将列举github标星超过两百的一些插件进行实战演示 ...

  7. 2020 CSP-J 多校赛 Day 2 T2 题解

    0x01 引入 在考场时想了一个错误算法,口胡一下,或许对理解正解有点帮助. 我们考虑交换两个数产生的代价,你会发现我们需要让大的数重复被交换的次数尽可能少,减少它对后面的代价. 那么不难构思出一个按 ...

  8. ConvTranspose2d

    nn.ConvTranspose2d的功能是进行反卷积操作 nn.ConvTranspose2d(in_channels, out_channels, kernel_size, stride=1, p ...

  9. hibernate一对多,细节讲解

    1.一对多 1).首先创建两个实体类studeninfo.java跟studentxxb.java 1)studentinfo.java表如图: package model; import java. ...

  10. 4.深入Istio源码:Pilot的Discovery Server如何执行xDS异步分发

    转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com 本文使用的Istio源码是 release 1.5. 介绍 Discovery Serv ...