用一个栈实现另外一个栈的排序

来源:互联网 发布:淘宝9.9包邮怎么赚钱 编辑:程序博客网 时间:2024/06/05 04:12

 用一个栈实现另外一个栈的排序:

import java.util.Stack;//用一个栈实现另外一个栈的排序public class StackSortStack{       //借助栈的排序    public static void StackSort(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());  //压入stack        }        help.push(cur);     //获得从栈顶到栈底从小到大的排序      }      //获得从栈顶到栈底从大到小的排序      while(!help.isEmpty())      {      stack.push(help.pop());      }    }   public static void main(String []args){      Stack<Integer> stack=new Stack<Integer>();      stack.add(1);      stack.add(5);      stack.add(3);      stack.add(4);      stack.add(6);      StackSort(stack);      while(!stack.isEmpty())      {         System.out.println(stack.pop());      }}}


原创粉丝点击