数据结构-栈

一、基本概念

栈:先进后出(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有水平

你可能感兴趣的:(数据结构,数据结构)