P3【知识点】【数据结构】【栈Stack】C++讲解

栈:这种数据结构使用LIFO技术,其中LIFO表示后进先出。首先插入的元素将在末尾提取,以此类推。有一个名为"top"的元素,它是位于最上面位置的元素。所有插入和删除操作都是在堆栈的顶部元素本身进行的。

语法:
复制代码
template<class T, class Container = deque<T> > class stack;

1.访问元素(Access) O(1)访问栈顶元素

2.搜索元素(Search)O(N)

3.插入元素(insert)O(1)

4.删除元素(delete)O(1) 栈顶元素

具体操作:

1、创建栈
复制代码
stack <int> newst;
2、添加元素
复制代码
newst.push(55);
3、删除元素
复制代码
newst.pop();
4、查看栈顶元素
复制代码
cout << newst.top();
5、栈得长度
复制代码
newst.size();
6、栈是否为空
复制代码
sg.empty()
7、遍历栈(边删除栈顶,边遍历)
复制代码
void newstack(stack <int> ss)
{
	stack <int> sg = ss;
	while (!sg.empty())
	{
		cout << '\t' << sg.top();
		sg.pop();
	}
	cout << '\n';
}

练习力扣:

【20】有效得括号

【496】下一个更大得元素I

相关推荐
D_evil__1 天前
【Effective Modern C++】第三章 转向现代C++:16. 让const成员函数线程安全
c++
Queenie_Charlie1 天前
前缀和的前缀和
数据结构·c++·树状数组
kokunka1 天前
【源码+注释】纯C++小游戏开发之射击小球游戏
开发语言·c++·游戏
John_ToDebug1 天前
浏览器内核崩溃深度分析:从 MiniDump 堆栈到 BindOnce UAF 机制(未完待续...)
c++·chrome·windows
念越1 天前
数据结构:栈堆
java·开发语言·数据结构
txinyu的博客1 天前
解析muduo源码之 SocketsOps.h & SocketsOps.cc
c++
dear_bi_MyOnly1 天前
【多线程——线程状态与安全】
java·开发语言·数据结构·后端·中间件·java-ee·intellij-idea
ctyshr1 天前
C++编译期数学计算
开发语言·c++·算法
浪客灿心1 天前
list_stack_queue
数据结构·list
zh_xuan1 天前
最小跳跃次数
数据结构·算法