- 前言
一、栈的基本 *** 作是什么?
二、队列的基本 *** 作是什么?
- 1.队列quene
- 2.优先队列的使用方法(priority_queu)
- 总结
前言
记录一些刷栈和队列的力扣所学到的一些常用的东西
一、栈的基本 *** 作是什么?
基本 *** 作:
push(x) 将x加入栈中,即入栈 *** 作
pop() 出栈 *** 作(删除栈顶),只是出栈,没有返回值。
注意这里如果需要返回值,可以调用this->pop();
top() 返回第一个元素(栈顶元素)
size() 返回栈中的元素个数
empty() 当栈为空时,返回 true
二、队列的基本 *** 作是什么? 1.队列quene
push(x) 将x压入队列的末端
pop() d出队列的第一个元素(队顶元素),注意此函数并不返回任何值
front() 返回第一个元素的引用(队顶元素)
back() 返回最后被压入的元素的引用(队尾元素)
empty() 当队列为空时,返回true
size() 返回队列的长度
2.优先队列的使用方法(priority_queu)empty() 如果队列为空返回真
pop() 删除队顶元素
push() 加入一个元素
size() 返回优先队列中拥有的元素个数
top() 返回优先队列对顶元素
总结
STL中栈往往不被归类为容器,而被归类为container adapter(容器适配器)。
那么问题来了,STL 中栈是用什么容器实现的?
栈的内部结构,栈的底层实现可以是vector,deque,list 都是可以的, 主要就是数组和链表的底层实现。
队列和栈的底层实现默认为deque。
deque容器和vector很像,它能够快速地随机访问任一个元素,并且能够高效地插入和删除容器的尾部元素。
但它又与vector不同,deque还支持高效插入和删除容器的头部元素,因此也叫做双端队列。
可以理解为一个两头都能用的vector。
使用方法:
push_front( x):双端队列头部增加一个元素x
push_back(x):双端队列尾部增加一个元素x
pop_front():删除双端队列中最前一个元素
pop_back():删除双端队列中最后一个元素
另外push_back与pop_back也为容器vector *** 作函数。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)