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

相关推荐
苏宸啊5 小时前
IPC管道
linux·c++
BestOrNothing_20156 小时前
ROS2 话题通信实战:消息对象、Publisher 发布器与 Subscriber 订阅器保姆级教程
c++·ros2·subscriber·publisher·话题通信
艾iYYY7 小时前
string 类的模拟实现
android·服务器·c语言·c++·算法
为何创造硅基生物7 小时前
C++ virtual void StartNetwork() = 0; // 纯虚:子类必须实现,否则不能 new。
c++
Lsk_Smion8 小时前
力扣实训 _ [75].颜色分类 _ 杨辉三角
数据结构·算法·leetcode
知无不研8 小时前
对套接字的深入理解
linux·服务器·网络·c++·socket·网络套接字
jidaowansui8 小时前
P11375 [GESP202412 六级] 树上游走
数据结构·算法
hai3152475439 小时前
FlashAttention C语言(C++)实现(展示版)
c语言·开发语言·c++·人工智能·算法
wuminyu10 小时前
Java锁机制之Java对象重量级锁源码剖析
java·linux·c语言·jvm·c++
郝学胜_神的一滴10 小时前
Qt 高级开发 026:QTabWidget御道,从筑基到化境
c++·qt