C++知识整理

STL模板库

STL是Standard Template Library的简称,中文名标准模板库,由惠普实验室提供。

分类以下内容:
	容器:常用的数据结构,可以存放任何类型的数据。
	算法:一常用的算法,比如:查找,排序,比较,拷贝等。
	迭代器:用来帮助访问容器工具,使用方式与指针类型。

向量容器:

	头文件: vector
	采用连续的内存来存储数据,通过下标来随机访问,也被称为数组容器。
	优点:会随着元素增加而自动扩大内存,也就是真正童意义上的自动变长的数组。

集合容器:

	头文件: set
	元素不能重复,且会自动排序的容器。
	如果元素是自定义对象必须要支持,<运算符

栈和队列容器:

	头文件: stack queue
	只具备栈和队列的基本功能,它们没有迭代器。
	底层是链式的存储结构。

优先队列:

	头文件:queue
	类名:priority_queue
	按照比较规则,对新加入的元素进行排序。
	出队的时候必须按照从大到小或从小到的顺序。
	基本类型默认是从大到小的顺序,要想改变需要提供具有比较功能()运算符类。
	自定义类型需要实现 < 运算符。

多元集合:

	头文件:set
	类名:multiset
	与集合的功能基本一样,只是允许元素重复。
	如果元素是自定义对象必须要支持,<运算符
	count、equal_range、lower_bound、upper_bound

链表容器:

	头文件:list
	是一个功能齐全的链表容器,是最常用的容器之一。
	它有排序成员函数,因此自定义类型要实现 < 运算符。
关联容器:
	头文件:map
	是一种 由key-value 成对组成元素的容器,key的值不能重复。
	key的值就相当于下标,可以当作访问value的凭证。
	能够根据key值快速的查询出value,它底层数据结构是红黑树,因此查询效率非常高。

多重关联:

	头文件:map
	类名:multimap
	使用方法与map基本一致,区别就是key可以对应多个value。
	因此[]不能使用,与pair配合使用。

双端队列:

	头文件:queue
	类名:deque
	它在头部和尾部都可以插入和删除,使用方法与向量类似。
	支持[]运算符,可以随机访问里容器中的元素。

位集合:

	是一种数据结构
	可以方便的进行二进制的运算,并查看结果。
	位运算符基本都支持。
算法:
	max、min、sort、swap、find、for_each
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值