数据结构-栈

一、基本概念

栈:先进后出(FILO)的数据结构。

Java中栈的实现类是Stack,间接实现了List接口。Stack的常用操作为:push(),pop(),peek(),empty()等。

二、常见算法题

2.1 无水平

1:设计一个有getMin功能的栈

使用两个Stack,一个用于存储数据,另一个用于存储当前栈中的最小值。

注意:入栈操作同时操作两个栈,出栈操作同时操作两个栈。

2:两个栈组成一个队列

使用两个Stack,StackIn用于数据入栈,StackOut用于数据出栈。

注意:

1:StackOut为空时将StackIn中的数据全部"倒入"StackOut中;

2:StackOut不为空时直接从StackOut中出栈;

3:用一个栈实现另一个栈的排序

两个栈互为辅助栈

2.2有水平

相关推荐
songx_992 分钟前
leetcode9(跳跃游戏)
数据结构·算法·游戏
学c语言的枫子12 分钟前
数据结构——双向链表
c语言·数据结构·链表
Boop_wu1 小时前
[数据结构] 栈 · Stack
数据结构
kk”1 小时前
C语言快速排序
数据结构·算法·排序算法
3壹2 小时前
数据结构精讲:栈与队列实战指南
c语言·开发语言·数据结构·c++·算法
papership2 小时前
【入门级-算法-6、排序算法:选择排序】
数据结构·算法·排序算法
YS_Geo5 小时前
Redis 深度解析:数据结构、持久化与集群
数据结构·数据库·redis
njxiejing5 小时前
Pandas数据结构(DataFrame,字典赋值)
数据结构·人工智能·pandas
tju新生代魔迷5 小时前
数据结构:单链表以及链表题
数据结构·链表
dragoooon345 小时前
[数据结构——lesson3.单链表]
数据结构·c++·leetcode·学习方法