我正在寻找一个 Stack 数据结构,它也允许将第 n 个元素移动到堆栈的顶部。因此,除了 pop()、push()、peek() 之外,我还想要类似 moveToTop(int n) 的东西,其中堆栈顶部 n=0,堆栈底部 n=size-1。
实现它的最佳方法是什么?我在 Java 工作。
最佳答案
标准栈数据结构中没有 moveToTop 方法,但如果你想这样做,我认为你可以像下面这样实现:
public class MyStack<T> extends Stack<T>{
public synchronized void moveToTop(int n) throws Exception {
int size = this.size();
if(n>size) {
throw new Exception("error position");
}
T ele = remove(n);
push(ele);
}
}
关于java - 您可以将第 n 个元素移动到堆栈顶部的堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54489229/