任务5:请使用内部类实现单项链表的增加,删除,遍历打印,查找(对以下代码进行补充)
10
李焕贞
开始于 2016-04-07 17:10
28 3 0
已截止

任务尚未发布或者你没有权限查看任务内容。

任务讨论
package program;
class  Link{
class Node{
private String data;
private Node next;  //下一个节点的引用
public Node(String data){
 this.data=data;
}
     public void addNode(Node newNode){
     if(this.next ==null){
       this.next= newNode;  //最后一个节点指向新节点
     }else{
      this.next.addNode(newNode);   //下一个节点继续找
     }
     }
     public void printNode()
     {
       System.out.println(this.data);    //打印当前节点
       if(this.next!=null)
       {  this.next.printNode();}       //下一节点继续找,一次打印
     }
     public  boolean  searchNode(String data){
      if(this.next.data==data){    
                  return true;}    //查询当前节点
           if(this.next!=null){
            return this.next.searchNode(data);   //下一节点继续查询
           }
           else{
       return false;
      }
           
     }
 
     public void delectNode(Node previous,String data){
              if(this.data==data){
               previous.next=this.next;    //删除当前节点
              }
              if(this.next!=null){
              this.next.delectNode(this, data);   //下一节点查询,删除
              }
          }
     
     }
     private Node head;
     public  void add(String data){
        Node newNode = new  Node(data);
        if(this.head==null){
          this.head=newNode;
        }else{
         this.head.addNode(newNode);
        }
       }
     public  void print(){
     if(this.head!=null){
     this.head.printNode();
     }
     }
     public boolean  search(String data){
    if(head.data==data)
    { return  true;}
    else{
     return  this.head.searchNode(data);}
     
     }
     public void delect(String data){
     if(this.head.data==data){
    if(this.head!=null){
     head=head.next;
    }else{
     head=null;
    }
     
     }
     else{
     head.next.delectNode(this.head,data);
     }
     
     }
    public void delete(String searchNode) {
        
    }
}
public class LinkTest {
   public static void main(String []args){
     Link l1=new Link();
     l1.add("a");
     l1.add("b");
     l1.add("c");
     l1.delect("bb");
     l1.print();
     String searchNode = "bb";
     System.out.println("查找:"+searchNode);
     String result=l1.search(searchNode)?"存在":"不存在";
     System.out.println("结果:"+result);
     System.out.println("删除:"+searchNode);
     l1.delete(searchNode);
     l1.print();
   }
}
李焕贞
任务已更新
李焕贞
任务已更新
李焕贞
任务已更新