读书人

堆栈的操作刚学不太懂请问。

发布时间: 2013-01-05 15:20:39 作者: rapoo

堆栈的操作,刚学,不太懂,请教。。。
任务描述:
1.建立堆栈。(长度不少于20个整数)
2.实现入栈的操作。
3.实现出栈的操作。
4.使用不同的入栈、出栈操作组合实现如下效果:

输入顺序为 1 2 3 4 5 6 7
输出顺序为 ①1 2 3 4 5 6 7
输出顺序为 ②7 6 5 4 3 2 1
输出顺序为 ③4 5 3 7 6 2 1


[解决办法]
JDK自带有java.util.Stack<E>,直接用。也可以自己实现。
输入顺序为 1 2 3 4 5 6 7
操作过程:1入栈,1出栈,2进栈,2出栈,3进栈,3出栈......
输出顺序为 ②7 6 5 4 3 2 1
操作过程:1入栈,2入栈,3入栈......7出栈,6出栈,5出栈......
输出顺序为 ③4 5 3 7 6 2 1
操作过程:1入栈,2入栈,3入栈,4入栈,4出栈,5入栈,5出栈,3出,6入,7入,7出,6出,2出,1出。
[解决办法]
首先要清楚什么是栈:
一种数据结构:先进后出,后进先出,相当于一个羽毛球筒(一端能取球)。
那什么是数据结构呢:一种你组织数据的形式

栈就是 计算机操作数据的一种方式,把栈想成一个 羽毛球筒,就好办了。

首先建栈( 链式存储, 顺序存储 无所谓),给这个栈一个开头, 一个结尾。(模拟羽毛球筒,倒着拿,头下,尾上)
操作:把数据入栈,就是把数据,一个个的放进去(最先放进去的会沉底,接着放在它的上面)
出栈:就是从尾部一个一个的向外拿了。拿多少,你说的算。(需判断是否拿完)

读书人网 >软件架构设计

热点推荐