刷Leetcode,应知必会的几种容器用法表

STL中vector、stack、queue的基本用法

最近几天开始刷LeetCode,除了自己分知识点做以外,每日一题也有在跟进做,希望自己能坚持。
个人感觉以下列出的vector、stack、queue用法在刷题时基本够用,属于比较实用的部分,若不完善日后也会补充。

关于这些容器的详细介绍,包括如何构造、各种赋值存取操作,我会在近期专门开展blog配合code介绍。

1.vector

vector是向量类型,可以存放许多类型的数据。
头文件:#include<vector>

相关操作函数
函数名内容
empty()判断向量是否为空
size()返回向量中元素的数目
push_back()在向量末尾增加元素
emplace_back()c++11新特性,在向量末尾增加元素,原地构造元素,无需触发拷贝构造和转移构造
pop_back()移除向量尾部元素
front()返回向量顶部元素

2.stack

stack栈是一个先进后出FILO的数据结构。
头文件:#include<stack>

相关操作函数
函数名内容
empty()判断栈是否为空
size()返回栈中元素的数目
push()在栈顶增加元素
pop()移除栈顶元素
top()返回栈顶元素

3.queue

queue队列是一个先进先出FIFO的数据结构。
头文件:#include<queue>

相关操作函数
函数名内容
empty()判断队列是否为空
size()返回队列中元素的数目
push()在队尾增加元素
pop()移除队头的元素
front()返回队头的元素

优先级队列,实际上就是堆。可以以O(1)的时间取出最小/最大的元素,以O(logn)时间删除元素。
举个例子,小顶堆。
priority_queue<int, vector<int>, greater<int> > pq;

函数名内容
empty()判断队列是否为空
size()返回队列中元素的数目
push()在队尾增加元素
pop()移除队头的元素
top()返回队头的元素


欢迎转载,表明出处。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值