測試

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

          自定義堆棧類

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

           1public class MyLinkStack {
           2    /**
           3     * 內部類,用以存儲用戶調用<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         * 默認的構造函數
          17         *
          18         */

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

          23        /**
          24         * 創建一個新的Node對象,用于存儲用戶push的數據
          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         * 是否已經到了堆棧底部
          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     * 向堆棧中存入數據
          46     * 
          47     * @param item
          48     */

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

          52    /**
          53     * 取出push中的數據
          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}

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

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


          網站導航:
           
          主站蜘蛛池模板: 县级市| 玛多县| 安岳县| 贵港市| 霸州市| 怀柔区| 泸溪县| 正镶白旗| 育儿| 婺源县| 义马市| 精河县| 衡水市| 历史| 新乐市| 肥东县| 团风县| 电白县| 楚雄市| 中超| 永仁县| 当涂县| 铁力市| 嘉兴市| 襄汾县| 永修县| 石河子市| 鸡西市| 且末县| 万源市| 繁峙县| 太白县| 舟山市| 井研县| 南昌市| 托克逊县| 天长市| 大城县| 顺平县| 建德市| 年辖:市辖区|