Coundy

             漫步風中,傾聽自己的腳步,在自我沉浸中,找尋逝去的靈魂

          posts - 27,comments - 2,trackbacks - 0
          code:

          package com.algorithms;

          /**
           * @author oracle
           *
           */

          //下面注釋掉的類是線性鏈表組合模式的實現(xiàn)
          //
          // class LineNode {
          //
          // private int id;
          //
          // private String name;
          //
          // private LineNode nextnode;
          //
          // public LineNode() {
          // }
          //
          // public int getId() {
          // return id;
          // }
          //
          // public void setId(int id) {
          // this.id = id;
          // }
          //
          // public LineNode getNextnode() {
          // return nextnode;
          // }
          //
          // // composite pattern implements linear-list
          // public void setNextnode(LineNode linenode) {
          // if (this.nextnode == null)
          // this.nextnode = linenode;
          // else
          // this.nextnode.setNextnode(linenode);
          // }
          //
          // public String getName() {
          // return name;
          // }
          //
          // public void setName(String name) {
          // this.name = name;
          // }
          // }


          class LineNode {

              private int id;

              private String name;

              private LineNode nextnode;

              public LineNode() {
              }

              public int getId() {
                  return id;
              }

              public void setId(int id) {
                  this.id = id;
              }

              public LineNode getNextnode() {
                  return nextnode;
              }   
              public void setNextnode(LineNode linenode) {

                  this.nextnode = linenode;
              }

              public String getName() {
                  return name;
              }

              public void setName(String name) {
                  this.name = name;
              }
          }

          public class LineList {
             //添加一個節(jié)點到線性鏈表中
              public static void addNode(LineNode linenode, LineNode root) {
                  LineNode newnode = root;
                  while (newnode != null) {
                      // newnode = newnode.getNextnode();
                      if (newnode.getNextnode() == null) {
                          newnode.setNextnode(linenode);
                          // root = newnode;
                          newnode = null;
                      } else {
                          newnode = newnode.getNextnode();
                      }

                  }

              }
             //刪除線性鏈表中的一個指定節(jié)點
              public static void deleteNode(LineNode linenode, LineNode root) {
                  LineNode newnode = root;
                  LineNode tempnode = null;
                  while (newnode != null) {
                      if (newnode.getNextnode() == linenode) {
                          tempnode = newnode.getNextnode();
                          if (tempnode.getNextnode() != null)
                              newnode.setNextnode(tempnode.getNextnode());
                          tempnode = null;
                          newnode = null;
                      } else
                          newnode = newnode.getNextnode();
                  }
              }

              /**
               * @param args
               */
              public static void main(String[] args) {
                  // TODO Auto-generated method stub
                  LineNode root = new LineNode();
                  root.setId(0);
                  root.setName("root");

                  LineNode sonone = new LineNode();
                  sonone.setId(1);
                  sonone.setName("sonone");
                  // root.setNextnode(sonone);
                  LineList.addNode(sonone, root);

                  LineNode sontwo = new LineNode();
                  sontwo.setId(2);
                  sontwo.setName("sontwo");
                  // root.setNextnode(sontwo);
                  LineList.addNode(sontwo, root);

                  LineList.deleteNode(sonone, root);
              }
          }

          posted on 2007-04-09 03:23 Coundy 閱讀(417) 評論(0)  編輯  收藏 所屬分類: Java
          主站蜘蛛池模板: 五莲县| 建平县| 达拉特旗| 祁连县| 乾安县| 永登县| 陵水| 德化县| 赤水市| 长乐市| 固安县| 运城市| 抚远县| 松江区| 津南区| 新营市| 合水县| 威信县| 宣汉县| 株洲市| 永康市| 高雄县| 始兴县| 四会市| 商都县| 兴仁县| 孝感市| 武强县| 平南县| 清原| 佳木斯市| 天柱县| 苏尼特右旗| 许昌县| 搜索| 阳曲县| 望都县| 赣榆县| 西平县| 临高县| 姚安县|