顺序栈j***a语言,j***a顺序栈的实现代码

kodinid 13 0

大家好,今天小编关注到一个比较意思的话题,就是关于顺序java语言问题,于是小编就整理了3个相关介绍顺序栈j***a语言的解答,让我们一起看看吧。

  1. 栈的入栈顺序和出栈顺序的各种可能?
  2. 若让元素1,2,3依次进栈,则出栈次序不可能出现的是什么顺序?
  3. 如何按现栈底再栈顶的顺序打印一个栈里的所有的元素 (java)?

栈的入栈顺序和出栈顺序的各种可能

举一个例子吧。

入栈顺序:a、b、c、d 出栈顺序可以是:d、c、b、a;a、b、c、d;b、a、c、d很多啦, 但要把栈想像成一个没盖子的纸箱,取出东西时只能从最上层取,放进东西也只能放在最上层,所以栈是一个“后进先出”或“先进后出”的顺序存储结构

举一个例子吧。入栈顺序:a、b、c、d 出栈顺序可以是:d、c、b、a;a、b、c、d;b、a、c、d很多啦, 但要把栈想像成一个没盖子的纸箱,取出东西时只能从最上层取,放进东西也只能放在最上层,所以栈是一个“后进先出”或“先进后出”的顺序存储结构。

顺序栈java语言,java顺序栈的实现代码-第1张图片-安济编程网
图片来源网络,侵删)

若让元素1,2,3依次进栈,则出栈次序不可能出现的是什么顺序?

  这种题是很经典的,不论是测评还是考研.   根据栈的后进先出的性质,栈顶元素可能是1,2,3,也就是出栈序列的第一个元素可能为1,2,3.,对于312,我解释下,其他可以类推:   若想3先出栈,那么必须1和2已经进栈,然后3进栈,3再出栈(序列:3),而【此时栈的栈顶元素】为2,所以第二个出栈的元素不可能是1,而只能是2,所以此时的出栈序列必为:321

如何按现栈底再栈顶的顺序打印一个栈里的所有的元素 (j***a)?

如果这个栈是你自己写的,那你自己知道每一个元素,就可以一个个按你想要的顺序打印。如果这个栈的类是别人写的,别人之提供给你push,pop方法,那么估计也只有全部pop出来这种方法了 ================================================================== 哦,你的意思是栈虽然是你自己写的,但是你用的时候却需要反过来遍历,而不是说在栈的内部做这个遍历?那么在外部的话我觉得是没有好办法的,因为栈只有那两个操作,除非像j***a的Stack那样,还提供了整个表的功能。但是如果是你需要反过来遍历的话,我觉得这就不适合用栈这种数据结构啊 ================================================================= 用什么数据结构要看你什么需求,比如你做的事情的确是栈的概念,你也的确只需要出栈,进栈的操作的话,那么你只需要栈就可以了。你现在要遍历整个集合,那就用最普通的顺序表好了

到此,以上就是小编对于顺序栈j***a语言的问题就介绍到这了,希望介绍关于顺序栈j***a语言的3点解答对大家有用。

顺序栈java语言,java顺序栈的实现代码-第2张图片-安济编程网
(图片来源网络,侵删)
顺序栈java语言,java顺序栈的实现代码-第3张图片-安济编程网
(图片来源网络,侵删)

标签: 顺序 先出 一个