Var*_*run -2 java algorithm stack data-structures c#-4.0
我想交换两个堆栈,这基本上意味着堆栈的内容.我怎样才能在C#或Java或C中做到这一点
你能交换引用吗?即给出堆栈s1和s2:
Stack<T> temp = s2;
s2 = s1;
s1 = temp;
Run Code Online (Sandbox Code Playgroud)
切换堆栈内容的最简单方法可能是使用另一个堆栈:
int secondSize = s1.size();
while(!s1.isEmpty()){
holdStack.push(s1.pop());
}
while(!s2.isEmpty()){
holdStack.push(s2.pop());
}
for(int i = 0; i < secondSize; i++){
s1.push(holdStack.pop());
}
while(!holdStack.isEmpty()){
s2.push(holdStack.pop());
}
Run Code Online (Sandbox Code Playgroud)