測試

          逝去的月光,黎明的紅日
          posts - 2, comments - 2, trackbacks - 0, articles - 5

          自定義堆棧類

          Posted on 2007-10-19 18:46 測試 閱讀(884) 評論(0)  編輯  收藏 所屬分類: Java,Eclipse
          最近一直在用堆棧,可是沒有去想過它是怎么實現(xiàn)的,也就看了一下牛人們是怎么實現(xiàn)堆棧的,也就寫了個自己的堆棧類,以便加強記憶,

           1public class MyLinkStack {
           2    /**
           3     * 內(nèi)部類,用以存儲用戶調(diào)用<code>MyLinkStack#push(Object)</code><br>
           4     * 傳進來的對象。
           5     */

           6    private static class Node {
           7        /**
           8         * 用戶需要堆棧的對象
           9         */

          10        Object item;
          11        /**
          12         * 存儲前一個Node對象
          13         */

          14        Node next;
          15        /**
          16         * 默認的構造函數(shù)
          17         *
          18         */

          19        Node() {
          20            this.item = null;
          21            this.next = null;
          22        }

          23        /**
          24         * 創(chuàng)建一個新的Node對象,用于存儲用戶push的數(shù)據(jù)
          25         * 
          26         * @param item
          27         * @param next
          28         */

          29        Node(Object item, Node next) {
          30            this.item = item;
          31            this.next = next;
          32        }

          33        /**
          34         * 是否已經(jīng)到了堆棧底部
          35         * 
          36         * @return
          37         */

          38        boolean end() {
          39            return this.item == null && this.next == null;
          40        }

          41    }

          42    /**/
          43    private Node top = new Node();
          44    /**
          45     * 向堆棧中存入數(shù)據(jù)
          46     * 
          47     * @param item
          48     */

          49    public void push(Object item) {
          50        top = new Node(item, top);
          51    }

          52    /**
          53     * 取出push中的數(shù)據(jù)
          54     * 
          55     * @return
          56     */

          57    public Object pop() {
          58        Object result = top.item;
          59        if (!top.end()) {
          60            top = top.next;
          61        }

          62        return result;
          63    }

          64}

          以上的堆棧類是用的鏈式結構。

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 库伦旗| 顺义区| 旬邑县| 竹山县| 信阳市| 仙桃市| 张家口市| 祁门县| 闻喜县| 乐业县| 灌南县| 资兴市| 达拉特旗| 安多县| 比如县| 鸡西市| 神农架林区| 江津市| 格尔木市| 彭泽县| 余干县| 咸宁市| 吉安县| 临澧县| 巨鹿县| 丰原市| 沾益县| 正安县| 炎陵县| 靖宇县| 和政县| 佛山市| 普兰店市| 新宾| 灵台县| 即墨市| 雅江县| 大安市| 广昌县| 德保县| 博湖县|