码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA学习第九天

时间:2016-05-13 13:15:07      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:

---恢复内容开始---

 

今天是2016年,5,12.java学习第九天!2016-05-12

 

今天主要是学习上次没有学完的,话不多说,上代码!

 

Node:

package com.cqvie.lianbiao;

public class Node {
 public String data;
 public Node next;


}

 

Link:

package com.cqvie.lianbiao;

public class Link {//带头节点的单向链表
  private Node head=null;
  public Link(){//构造方法
   head=new Node();
   head.next=null;
  }
     public void add(String data){//在末尾添加节点
      Node a=head;
      while(a.next!=null) a=a.next;//找尾节点
      Node tmp=new Node();//新建节点tmp
      tmp.data=data;
      tmp.next=null;
      a.next=tmp;//连接到尾节点之后
     }
     public void addAll(String data[]){
     
     }
     public int size(){//求链表的长度
      Node a=head;
      int n=0;
         while(a.next!=null) {
       n=n+1;
       a=a.next;
      }
      return n;
     }
     public boolean isEmpty(){//判断链表是否为空
        return head.next==null;
     }
     public boolean contains(String data){//判断链表中是否含有某节点
      Node a=head;
      while(a.next!=null){
       a=a.next;
       if(a.data.equals(data))
        return true;
      }
      return false;
     
     }
     public void remove(String data){//删除一个节点
      Node p=head;
      Node q;
      while(p.next!=null){
       q=p;
       p=p.next;
       if(p.data.equals(data))
       q.next=p.next;  
      }
     }
     public String[] toArray(){
      return null;
     }
     public String get(int index){
      return null;
     }
     public void clear(){
     
     }
    public String print(){//将链表所有节点连接成一个字符串并输出
     Node a=head;
     String s="";
     while(a.next!=null){
         a=a.next;
         s+=a.data+"-->";
     }
     return s;
    }
}

 

Test:

package com.cqvie.lianbiao;

public class Test {

 public static void main(String[] args) {
  Link link=new Link();
        link.add("节点1");
        link.add("节点2");
        link.add("节点3");
        System.out.println("这个链表是否为空:"+link.isEmpty());
        System.out.println("这个链表的长度:"+link.size());
        System.out.println("这个链表是:"+link.print());
        System.out.println("这个链表中是否有:“节点3”:"+link.contains("节点3"));
        link.remove("节点2");
        System.out.println("删除节点2后:"+link.print());

 }

}

 

 

输出结果:

这个链表是否为空:false
这个链表的长度:3
这个链表是:节点1-->节点2-->节点3-->
这个链表中是否有:“节点3”:true
删除节点2后:节点1-->节点3-->

 

今天的学习感觉到小吃力,主要是对JAVA的结构不熟,还有以前的C代码掌握不是很牢固,比如,删除节点的操作,在C中的代码没安全掌握,在这里换个结构,感觉很吃力。所以,基础很重要。这些还没写完,后天补五一假课,再战!

---恢复内容结束---

JAVA学习第九天

标签:

原文地址:http://www.cnblogs.com/hyyq/p/5487504.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!