C++ STL的基本使用方法总结

16 篇文章 0 订阅

1,vector:

vector是STL的动态数组,在运行是能够根据需要改变数组大小。由于它是以数组的形式存储的,所以它的内存空间是连续的。在中间进行插入和删除操作会造成内存快的复制,另外数组后面的内存空间不够也需要重新申请一块足够大的内存,这些都会影响vector的效率。

例子说明
vector< int >初始化a为空
a.push-back(100)在尾部添加元素
a.size()a的元素个数
a.empty()判断a是否为空
reverse(a.begin(),a.end())用函数reverse()翻转数组
sort(a.begin(),a.end())用函数sort()从小到大排序

stack(栈)

栈是基本的数据结构之一,特点是“先进后出”。头文件#include< stack >.

用法
例子说明
stack< Type> s;定义栈,Type为数据类型
s.push(item)把item放入栈顶
s.top()返回但不删除栈顶元素
s.pop()删除栈顶元素
s.size()返回栈中元素的个数
s.empty()判断栈是否为空

queue(队列)

队列的特点是先进先出,头文件为:#include< queue>

用法:
例子说明
queue< type >定义队列,type为数据类型
q.push(item)把item放进队列
q.front()返回但不删除队首元素
q.pop()删除队首元素
q.bach()返回队尾元素
q.size()返回队列元素个数
q.empty()判断队列是否为空

priority_queue(优先队列)

每次push和pop操作,优先队列都会动态调整,把优先级高的元素放在前面。 在STL中优先队列是用二叉堆来实现的,在队列中push一个数或pop一个数的时间复杂度都是O(log n)的

用法
例子说明
q.top()返回具有最高优先级的元素值
q.pop()删除最高优先级元素
q.push(item)插入一个新元素

Set(集合)

STL中的set是用二叉搜索树实现的,集合中的每个元素只能出现一次,并且是排好序的。访问元素的时间复杂度是O(log n)的。

用法
例子说明
set< type> a定义
a.insert(item)把item放进a里
a.erase(item)删除元素item
a.clear()清空set
a.empty()判断是否为空
a.size()返回元素个数
a.find(k)返回一个迭代器,指向k值
a.lower_bound(k)返回一个迭代器,指向不小于k的第一个元素
a.upper_bound()返回一个迭代器,返回大于k的第一个元素
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值