`
finally_m
  • 浏览: 66736 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

实现简单链表操作

 
阅读更多
class  NodeManager   
{   
 private Node rootNode;   
    
 //所有节点名连接后的字符串   
 private String nodeNames;   
    
 public NodeManager(String rootName){   
  rootNode = new Node();   
  rootNode.setName(rootName);   
 }   
  
 public Node getRootNode(){   
  return rootNode;   
 }   
    
 //添加节点   
 public void addNode(Node rootNode,String name){   
  if(rootNode.getNode()!=null){   
   //递归调用   
   addNode(rootNode.getNode(),name);   
  }else{   
   //创建一个新节点   
   Node newNode = new Node();   
   newNode.setName(name);   
   //把新节点添加到所有节点的最后   
   rootNode.setNode(newNode);   
  }   
 }   
    
 //删除一个节点   
 public void delNode(Node resNode,String name){   
  if(resNode.getNode()!=null){   
   if(resNode.getNode().getName().equals(name)){   
    resNode.setNode(resNode.getNode().getNode());   
   }else{   
    delNode(resNode.getNode(),name);    
   }   
  }   
 }   
    
 //按顺序显示所有节点的姓名   
 public void viewNode(Node rootNode){   
  if(rootNode.getNode()!=null){   
   nodeNames = nodeNames + "->" + rootNode.getNode().getName();   
   viewNode(rootNode.getNode());   
  }   
 }   
    
 public String display(Node node){   
  nodeNames = rootNode.getName();   
  viewNode(node);   
  return nodeNames;   
 }   
  
 class Node   
 {   
  private String name;   
  private Node node;   
  //private List<Node> nodeList = new ArrayList<Node>();   
  
  public void setName(String name){   
   this.name = name;   
  }   
  
  public String getName(){   
   return this.name;   
  }   
  
  public void setNode(Node node){   
   this.node = node;   
  }   
  
  public Node getNode(){   
   return this.node;   
  }   
 }   
 public static void main(String[] args)    
 {   
  //创建根节点   
  NodeManager nm = new NodeManager("根节点");   
     
  //添加子节点   
  nm.addNode(nm.getRootNode(),"节点1");   
  nm.addNode(nm.getRootNode(),"节点2");   
  nm.addNode(nm.getRootNode(),"节点3");   
  nm.addNode(nm.getRootNode(),"节点4");   
  
  //显示所有节点名   
  System.out.println(nm.display(nm.getRootNode()));   
  
  nm.delNode(nm.getRootNode(),"节点3");   
  System.out.println(nm.display(nm.getRootNode()));   
  
 }   
}  

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics