我會走向何方

          我又該走向何方

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            15 Posts :: 2 Stories :: 17 Comments :: 0 Trackbacks

          ?

          package ?com.fangq.collections;
          /**
          ?*?后進先出
          ?*?自動擴容2倍
          ?*?
          @author ?new
          ?*
          ?
          */

          public ? class ?Stack? {
          ????
          private ?Object[]?stack;
          ????
          private ? int ?max;
          ????
          private ? int ?top;
          ????
          public ?Stack() {
          ????????stack?
          = ? new ?Object[ 20 ];
          ????????max?
          = ? 20 ;
          ????????top?
          = ? - 1 ;
          ????}

          ????
          public ?Stack( int ?s) {
          ????????stack?
          = ? new ?Object[s];
          ????????max?
          = ?s;
          ????????top
          =- 1 ;
          ????}

          ????
          public ? void ?push(Object?o)? throws ?Exception {
          ????????
          if (o == null )
          ????????????
          throw ? new ?Exception( " 不允許空值 " );
          ????????top
          ++ ;
          ????????
          if (top > max - 1 ) {
          ????????????System.out.println(
          " 開始擴容 " );
          ????????????max?
          = ?max * 2 ;
          ????????????Object[]?oldStack?
          = ?stack;
          ????????????Object[]?newStack?
          = ?? new ?Object[max];
          ????????????System.arraycopy(oldStack,
          0 ,newStack, 0 ,top);
          ????????????stack?
          = ?newStack;
          ????????}

          ????????System.out.println(
          " top=====> " + top);
          ????????System.out.println(
          " max=====> " + max);
          ????????stack[top]?
          = ?o;?
          ????}

          ????
          public ?Object?pop() {
          ????????
          return ?stack[top -- ];
          ????}

          ????
          public ? static ? void ?main(String[]?args) {
          ????????Stack?s?
          = ?? new ?Stack( 10 );
          ????????
          try {
          ????????????
          for ( int ?i = 1 ;i < 22 ;i ++ ) {
          ????????????????s.push(String.valueOf(i));
          ????????????}

          ????????????System.out.println(s.pop());
          ????????????System.out.println(s.pop());
          ????????}
          catch (Exception?e) {
          ????????????e.printStackTrace();
          ????????}

          ????}

          }

          posted on 2006-08-26 09:35 hama 閱讀(228) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 德钦县| 万载县| 都兰县| 姜堰市| 五峰| 旌德县| 韶山市| 阜阳市| 崇文区| 泰顺县| 汕头市| 盐边县| 东源县| 筠连县| 晴隆县| 花垣县| 定兴县| 独山县| 西峡县| 吉林市| 托里县| 南华县| 绥化市| 石家庄市| 炉霍县| 明水县| 涪陵区| 山阴县| 诸城市| 高州市| 阿拉尔市| 舒兰市| 东乡县| 肇庆市| 巴中市| 阿克陶县| 垣曲县| 土默特右旗| 玛沁县| 怀仁县| 湟源县|