STL数据结构小结

STL数据结构

1.队列 queue –> 优先队列 priority_queue
2.栈 stack
3.向量 vector
4.双向链表 list
5.集合 set –> 可重复集合 multiset
6.映射map

队列

先进先出
push(x) 将x加入队列
pop( ) 将第一位移除队列
front( ) 队头元素
back( ) 队尾元素
size( ) 队列元素个数
empty( ) 判断队列是否为空

优先队列

大顶堆
priority_queue <int>
小顶堆
priority_queue <int,vector<int>,greater<int> >

push(x) 向队列中插入x[O(logN)]
pop( ) 删除开头元素[O(logN)]
top( ) 访问开头元素[O(logN)]

先进后出
top() 栈顶元素
pop( ) 删除栈顶元素
push(x) 将x添加到栈顶
size( ) 栈元素数
empty( ) 判断栈是否为空

向量

不定长数组
size( ) 向量元素数
push_back(x)将x添加到末尾
pop_back( )删除最后一个元素
begin( ) 返回指向向量开头的迭代器
end( ) 返回指向向量末尾的迭代器——左闭右开
insert(p,x) 在向量位置p处插入x【O(N)】
erase(p) 删除向量中位置p处的元素【O(N)】
clear( ) 删除向量中所有的元素【O(N)】

双向链表

不可用【】
size( ) 返回链表元素个数
begin( ) 返回指向开头的迭代器
end( ) 返回指向末尾的迭代器——前闭后开
push_back(x) 在链表末尾添加元素x
push_front(x)在链表开头添加元素x
pop_back( )将位于链表末尾的元素删去
pop_front( )将位于链表开头的元素删去
insert(p,x)将元素x插入至p处
earse(p)将位于p处的元素删去
claer( )删去所有元素【O(N)】
sort( )给list排序

集合

size( ) 返回集合元素个数
begin( ) 返回集合的开头
end( ) 返回集合的末尾
insert(x) 加入元素x
earse(x) 删除元素x
find(x) 寻找键值与x相同的元素【O(logN)】
若找不到,返回end()
clear( ) 清空集合【O(N)】

可重复集合

multiset
insert(x) 加入元素x
earse(x) 把键值为x的元素全部删除
size( ) 返回集合元素个数
end( ) 返回集合的结尾
begin( ) 返回集合的开头
clear( ) 清空集合【O(N)】

映射

O(logN)
size( ) 返回集合元素个数
begin( ) 返回集合的开头
end( ) 返回集合的末尾
insert(x) 加入元素x
earse(x) 删除元素x
find(x) 寻找键值与x相同的元素【O(logN)】
若找不到,返回end()
clear( ) 清空集合【O(N)】

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值