使用堆栈弹出和推送方法或操作

Using Stacks to pop and push a method or action

因此,对于一个 Uni 项目,我有一个 LinkedList,其中包含插入、删除、排序、反转等方法。部分任务是使用 Stacks 实现撤消按钮。

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

抱歉,如果答案很明显,但我确实对此进行了研究,但对答案仍然一无所知,因此非常感谢您的帮助!

我认为您遗漏了堆栈数据结构的某些方面。

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

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

This is a stack. Your assingment seems to follow the Command Pattern。因此,您将 "record" 每个动作(如 adddelete、...)放在 LIFO(后进先出)堆栈中。撤消操作时,您只需 "reverse" 堆栈的最顶层命令。如何"reverse"操作完全取决于有问题的操作,由您自己弄清楚。