题目
将一个存放整数的栈,从栈顶到栈底 由小到大排列,只能用一个辅助栈,可以用辅助变量,不能用其他数据结构
java程序
public class Chapter1_5 {
public Stack<Integer> sort(Stack<Integer> stack){
Stack<Integer> heleStack = new Stack<Integer>();
int vlaue = 0;
while(!stack.isEmpty()){
vlaue = stack.pop();
while(!heleStack.isEmpty() && vlaue< heleStack.peek()){
stack.push(heleStack.pop());
}
heleStack.push(vlaue);
}
while(!heleStack.isEmpty()){
stack.push(heleStack.pop());
}
return stack;
}
public static void main(String[] args){
Chapter1_5 chapter = new Chapter1_5();
Stack<Integer> stack = new Stack<Integer>();
for(int i=10,j=11;i<20;i=i+2,j=j+10) {
stack.push(j);
stack.push(i);
}
stack = chapter.sort(stack);
while(!stack.isEmpty()){
System.out.print(stack.pop()+" ");
}
}
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步