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

相关推荐
Lucis__21 小时前
从基本用法到迭代器实现—list重难点突破
c++·容器·list
Pluchon21 小时前
硅基计划6.0 柒 JavaEE 浅谈JVM&GC垃圾回收
java·jvm·数据结构·java-ee·gc
努力学习的小全全21 小时前
【CCF-CSP】06-01数位之和
c++·ccf-csp
再卷也是菜21 小时前
C++篇(16)C++11(下)
c++
不穿格子的程序员21 小时前
从零开始刷算法——二分-搜索旋转排序数组
数据结构·算法
CS_浮鱼1 天前
【C++进阶】智能指针
开发语言·c++
怕什么真理无穷1 天前
C++_面试题_21_字符串操作
java·开发语言·c++
Dream it possible!1 天前
LeetCode 面试经典 150_二叉树_二叉树展开为链表(74_114_C++_中等)
c++·leetcode·链表·面试·二叉树
sin_hielo1 天前
leetcode 2536
数据结构·算法·leetcode
cookies_s_s1 天前
C++20 协程
linux·开发语言·c++