使用Stacks弹出并推送方法或操作

时间:2015-04-12 00:50:55

标签: java data-structures stack

因此,对于Uni的项目,我有一个LinkedList,其中包含插入,删除,排序,反向等方法。部分分配是使用Stacks实现Undo按钮。

是这样的,所以每当我调用一个方法时,我就推动它的计数器。例如,我插入了一些东西,所以我推删了那个东西。但是,我不确定你是否可以用堆叠做到这一点?如果我理解堆栈正确不是它们在数组中的原始数据类型吗?

很抱歉,如果答案很明显,但我确实对此做了研究,答案仍然很空白,所以任何帮助都非常感谢!

2 个答案:

答案 0 :(得分:1)

我认为您缺少堆栈数据结构的某些方面。

堆栈是最后一个输出。这意味着您有一些根节点包含您需要保存的数据类型,然后是对下一个节点的引用。因此,对于最后一个,您将转到链接列表中的最后一个节点,并在最后添加它。要删除,您可以找到最后一个节点,并从之前的节点中删除对它的引用。

我认为你没有做过足够的研究,阅读链表和数据结构堆栈。如果您还有其他问题,请先询问,但请先尝试自己找到答案。

答案 1 :(得分:1)

This is a stack。你的帮助似乎遵循Command Pattern。所以你会记录" LIFO(后进先出)堆栈中的每个操作(如adddelete,...)。当您撤消某个操作时,您只需"反向"堆栈的最顶层命令。如何"逆转"这个操作完全取决于有问题的操作,是你要弄明白的。