单向链表的编写

来源:互联网 发布:生死狙击透视源码 编辑:程序博客网 时间:2024/06/03 21:31
package cn.shangji.s3;


public class Link{   
    class Node {   
 public String data;     
 private Node next;   
 public Node(String data) {   
     this.data = data;     
 }   
public void add(Node newNode){
   if(this.next==null){
      this.next=newNode;
   }else{
    this.next.add(newNode);
  }
}
 public void NodeDisplay(){   
     System.out.println ("{"+this.data+"}");  
    if(this.next!=null){
       this.next.NodeDisplay();
     } 
 }   
 public boolean findNode(String data){ 
   if(data.equals(this.data)){
     return true;
 }else{
     if(this.next!=null){
        return this.next.findNode(data);
      } else{
         return false;
        }        
 }
}
public void delete(Node previous,String data){
   if(data.equals(this.data)){
     previous.next=this.next;
    }else{
      if(this.next!=null){
          this.next.delete(this,data);
         }
     }
}
}
private Node first;  
public void addNode(String node){
Node newNode=new Node(node);
 if (this.first==null){
  this.first=newNode;
 }else{
    this.first.add(newNode);
 }
}
public void displayLink (){  
 if(this.first!=null){
   this.first.NodeDisplay();
}
}  
public boolean isEmpty(String name){
  return this.first.findNode(name);

public void deleteNode(String data){
  if(this.isEmpty(data)){
     if(this.first.data.equals(data)){
          this.first=this.first.next;
        }else{
           this.first.next.delete(first,data);
       }
 }
}


    public static void main (String[] args) { 
       Link l=new Link();
       l.addNode("1");
       l.addNode("2");
       l.addNode("3");
       l.addNode("4");
       l.addNode("5");
       l.addNode("6");
       l.addNode("7");
       l.addNode("8");
      System.out.println("============删除之前==============");
       l.displayLink ();
       l.deleteNode("1");
       l.deleteNode("7");
       l.deleteNode("8");
     System.out.println("n============删除之后==============");
       l.displayLink ();
     System.out.println("查询节点:"+l.isEmpty("4"));
}    
}  
























/*
 public Link () {   
     this.first=null;   
 }   
 
 public void insertHeadNode(int data){   }   
    
    */
 
        
原创粉丝点击