C++标准模板库(STL)的简单知识点

一.STL简介

1.简介

STL<标准模板库>是通用类模板和算法的集合,他提供给程序员一些标准的数据结构的实现。

2.三类数据结构 

1.顺序性容器

vector 从后面快速的插入与删除,直接访问任何元素

deque 从前面或后面快速的插入与删除,直接访问任何元素

list 双链表,从任何地方快速插入与删除

2.关联容器

set 快速查找,不允许重复值

multiset 快速查找,允许重复值

map 一对多映射,基于关键字快速查找,不允许重复值

multimap 一对多映射,基于关键字快速查找,允许重复值

3.容器适配器

stack 后进先出

queue 先进先出

priority_queue 最高优先级元素总是第一个出列 

二.顺序性容器

1.C++ Vector(向量容器)

1).特点

1.看作动态数组,指定一块如同数组一样的连续存储,但空间可以动态扩展

2.随机访问方便

3.连续存储节省空间

4.内部插入、删除效率低下,只能在后端进行追加和删除

5.动态添加的数据超过vector默认分配的大小进行内存重新分配、拷贝和释放,操作非常消耗性能

2)语法

1. Constructors 构造函数

vector<int> v1; //构造一个空的vector

vector<int> v1( 5, 42 ); //构造了一个包含5个值为42的元素的Vector 

2.at() 返回指定位置的元素

TYPE at( size_type loc );//差不多等同v[i];但比v[i]安全;

3.empty() 判断Vector是否为空(返回true时为空)

4. pop_back() 移除最后一个元素 

5.push_back() 在Vector最后添加一个元素 

2.C++ List (双向链表)

1)特点

1.不使用连续的内存空间,随意进行动态操作

2.任何位置快速进行插入和删除

3.不能进行内部的随机访问,不支持[ ]操作符和vector.at(

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值