LALA  
          日歷
          <2009年6月>
          31123456
          78910111213
          14151617181920
          21222324252627
          2829301234
          567891011

          導航

          留言簿(1)

          隨筆分類(31)

          文章分類(4)

          收藏夾(21)

          搜索

          •  

          積分與排名

          • 積分 - 29910
          • 排名 - 1389

          最新隨筆

          最新評論

          閱讀排行榜

           
          有兩個相同的棧,一個里面放著自大到小排列的數(shù),棧頂?shù)臄?shù)最小,另一個棧是空的.
          不允許利用其它的數(shù)據(jù)結構,只能利用這兩個棧,要求把第一個棧里的數(shù)字反過來,從
          小到大排列,結果還放在原來的那個棧里面。
           1 /**
           2      * 有兩個相同的棧,一個里面放著自大到小排列的數(shù),棧頂?shù)臄?shù)最小,另一個棧是空的.
           3      * 不允許利用其它的數(shù)據(jù)結構,只能利用這兩個棧,要求把第一個棧里的數(shù)字反過來,從
           4      * 小到大排列,結果還放在原來的那個棧里面。
           5      */
           6     public static void resortStack(Stack<Integer> stackA, Stack<Integer> stackB){
           7         if(stackA == null || stackB == null)
           8             return;
           9         assert stackA != null && stackB != null;
          10         if(stackA.size() <= 1)
          11             return;
          12         int len = stackA.size();
          13         for(int i = 0; i < len - 1; i++){
          14             int min = stackA.pop();
          15             while(stackA.size() > i)
          16                 stackB.push(stackA.pop());
          17             stackA.push(min);
          18             while(!stackB.empty())
          19                 stackA.push(stackB.pop());
          20         }
          21     }
          22     public static void testResortStack(){
          23         
          24         resortStack(nullnull);
          25         Stack<Integer> stackA = new Stack<Integer>();
          26         Stack<Integer> stackB = new Stack<Integer>();
          27         for(int i = 10; i > 0; i--)
          28             stackA.push(i);        
          29         System.out.println(stackA.toString());
          30         resortStack(stackA, stackB);
          31         System.out.println(stackA.toString());
          32         
          33     }
          34     /**
          35      * @param args
          36      */
          37     public static void main(String[] args) {
          38         // TODO Auto-generated method stub
          39         testResortStack();
          40     }
          posted on 2009-06-21 01:04 Dest 閱讀(884) 評論(0)  編輯  收藏 所屬分類: 算法
           
          Copyright © Dest Powered by: 博客園 模板提供:滬江博客
          主站蜘蛛池模板: 闽清县| 锡林浩特市| 太康县| 绍兴市| 井陉县| 玉林市| 荥阳市| 日照市| 页游| 兴和县| 宁阳县| 田林县| 璧山县| 松溪县| 太湖县| 泸水县| 红原县| 钟祥市| 玛沁县| 故城县| 弥勒县| 隆安县| 深水埗区| 正镶白旗| 肥西县| 安国市| 台北市| 新龙县| 庆云县| 航空| 璧山县| 瑞安市| 涿州市| 获嘉县| 乌恰县| 东兰县| 丽江市| 深泽县| 石楼县| 天台县| 新宁县|