文章目录

一个栈中元素的类型为整型,现在想将该栈从顶到底按从大到小的顺序排序,只许申请一个栈。除此之外,可以申请新的变量,但不能申请额外的数据结构。
以下为该题目的具体算法实现:

import java.util.Stack;

public class SortStackByStack{
public static void sortStackByStack(Stack<Integer> stack){
Stack<Integer>help=new Stack<Integer>();
while(!stack.isEmpty()){
int cur=stack.pop();
while(!help.isEmpty()&&help.peek()<cur){
stack.push(help.pop());
}
help.push(cur);
}
while(!help.isEmpty()){
stack.push(help.pop());
}
}
}
文章目录