Coundy

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

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

          package com.algorithms;

          /**
           * @author oracle
           *
           */

          //下面注釋掉的類是線性鏈表組合模式的實現
          //
          // 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 {
             //添加一個節點到線性鏈表中
              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();
                      }

                  }

              }
             //刪除線性鏈表中的一個指定節點
              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
          主站蜘蛛池模板: 武山县| 崇阳县| 金昌市| 榆中县| 黄石市| 图片| 大田县| 临漳县| 黑河市| 江安县| 双流县| 类乌齐县| 民乐县| 宣化县| 晋州市| 浑源县| 民丰县| 兴仁县| 澄江县| 崇义县| 石台县| 乌兰察布市| 冷水江市| 平邑县| 成武县| 陈巴尔虎旗| 苗栗市| 柳江县| 博客| 临颍县| 武清区| 长泰县| 平塘县| 乐都县| 鄂托克前旗| 安丘市| 垫江县| 通城县| 玉溪市| 方正县| 河津市|