假设我有一个类似于Stack的数据结构,但除了通常的Push/Pop之外,它还具有PushAt/PopAt等函数,它们都将整数作为输入,并在数据结构中的特定位置添加/返回项目.
现在Stack被认为是LIFO.此数据结构是否符合"Stack"的条件?
在HP RPN计算器和Postscript/PDF中,除了push和pop存在的其他运算符:
swap或者exch用于置换堆栈顶部和下一个元素,roll 作为...的延伸 swap他们的主要数据结构仍被视为堆栈.
pushAt并且popAt只能用pop/ push和编写roll.所以你的数据结构仍然可以命名为stack.