![](https://img-blog.csdnimg.cn/4c60bf4b28a545e799cf7597456fa78d.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C++
STL模板
Xiu Yan
北漂程序员一枚,目前就职华为。
展开
-
C++STL容器总结篇之vector
STL中的vector容器的总结1. vector的简单介绍 vector作为STL提供的标准容器之一,是经常要使用的,有很重要的地位,并且使用起来也是灰常方便。vector又被称为向量,vector可以形象的描述为长度可以动态改变的数组,功能和数组较为相似。实际上更专业的描述为:vector是一个多功能的,能够操作多种数据结构和算法的模板类和函数库,vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据原创 2020-11-21 00:11:23 · 280 阅读 · 0 评论 -
C++STL容器总结篇之set
1.关于set C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构操作。vector封装数组,list封装了链表,map和set封装了二叉树等,在封装这些数据结构的时候,STL按照程序员的使用习惯,以成员函数方式提供的常用操作,如:插入、排序、删除、查找等。让用户在STL使用过程中,并不会感到陌生。 关于set,必须说明的是set关联式容器。set作为一个容器也是原创 2020-11-21 12:37:39 · 371 阅读 · 0 评论 -
C++STL容器总结篇之map
一、关于map的介绍 map是STL的一个容器,和set一样,map也是一种关联式容器。它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,有助于我们处理一对一数据。这里说下map内部数据的组织,map内部是自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的。学习map我们一定要理解什么是一对一的数据映射?比如:一个班级中,每个学生的学号跟他的姓名就存在着一原创 2020-11-21 14:13:55 · 240 阅读 · 0 评论 -
C++STL容器总结篇之stack
1. stack简介 stack是一种先进后出的数据结构。stack不允许有遍历行为,也不提供迭代器,只允许新增元素、移除元素、取得最顶端元素。将元素推入stack的操作称为push,将元素推出stack的操作称为pop,如下图所示:图片来源https://blog.csdn.net/m0_38121874/article/details/1027125782. stack的用法因为本人对stack使用的并不是很多,所以只展示了一些基本函数:empty() ,判断栈是否为空pop()原创 2020-11-21 14:41:10 · 171 阅读 · 0 评论 -
C++STL容器总结篇之list
1. list容器简介1.1 关于list容器 list是一种序列式容器。list容器完成的功能实际上和数据结构中的双向链表是极其相似的,list中的数据元素是通过链表指针串连成逻辑意义上的线性表,也就是list也具有链表的主要优点,即:在链表的任一位置进行元素的插入、删除操作都是快速的。 list的实现大概是这样的:list的每个节点有三个域:前驱元素指针域、数据域和后继元素指针域。前驱元素指针域保存了前驱元素的首地址;数据域则是本节点的数据;后继元素指针域则保存了后继元素的首地址。其实,lis原创 2020-11-21 15:27:46 · 166 阅读 · 0 评论 -
C++STL容器总结篇之string
1. string对象的定义和初始化以及读写string s1 , 默认构造函数,s1为空串string s2(s1) , 将s2初始化为s1的一个副本string s3("valuee") , 将s3初始化一个字符串面值副本string s4(n,'c') , 将s4 初始化为字符'c'的n个副本cin>>s5 , 读取有效字符到遇到空格getline(cin,s6) , 读取字符到遇到换行,空格可读入,知道‘\n’结束getline(cin原创 2020-11-21 16:07:22 · 176 阅读 · 0 评论