我會走向何方

          我又該走向何方

          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)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 闻喜县| 曲松县| 阿坝县| 武功县| 镶黄旗| 渑池县| 长丰县| 重庆市| 格尔木市| 五大连池市| 穆棱市| 广宁县| 崇左市| 贵定县| 六枝特区| 潮安县| 稻城县| 平罗县| 定州市| 漾濞| 曲水县| 陆川县| 缙云县| 台南市| 宕昌县| 忻城县| 鄂伦春自治旗| 葫芦岛市| 大渡口区| 长岭县| 县级市| 北宁市| 德兴市| 合山市| 白朗县| 恭城| 台安县| 双城市| 嘉兴市| 宿松县| 葫芦岛市|