线性表的链式存储结构之单链表结点类的实现_Java

在C/C++语言中,采用指针类型存储地址来实现链式存储结构。Java语言不支持指针类型,提供引用方式保存包括地址在内的结构化信息。引用是比指针更健壮、更安全的链接方式,它不仅实现了指针的所有功能,而且避免了因指针使用不当产生的不安全性。因此,采用Java语言的引用类型可以很好地实现链式存储结构。


单链表结点类Node声明如下:

[java]  view plain copy
  1. package dataStructure.linearList;  
  2.   
  3. public class Node<E>  
  4. {  
  5.     public E Data;  
  6.     public Node<E> Next;  
  7.   
  8.     public Node(E data,Node<E> next)  
  9.     {  
  10.         this.Data = data;  
  11.         this.Next = next;  
  12.     }  
  13.   
  14.     public Node(E Data)  
  15.     {  
  16.         this(Data,null);  
  17.     }  
  18.   
  19.     public Node()  
  20.     {  
  21.         this(null,null);  
  22.     }  
  23. }  

Node<E>类有两个成员变量,data表示结点的数据域,保存数据元素本身,数据类型是E;next表示结点的地址域,保存后继结点的地址。Node类中成员变量next的数据类型是Node类自己,Node类是“自引用的类”。所谓自引用的类(self-referential calss),是指一个类声明包含一个引用当前类的对象的成员变量。


建立并链接结点的语句如下:

[java]  view plain copy
  1. import dataStructure.linearList.Node;  
  2.   
  3. public class MainForm  
  4. {  
  5.     public static void main(String args[])  
  6.     {  
  7.         Node<String> CC =new Node<String>("C");  
  8.         Node<String> BB =new Node<String>("B",CC);  
  9.         Node<String> AA =new Node<String>("A",BB);  
  10.           
  11.         System.out.println(AA.Data);  
  12.         System.out.println(AA.Next.Data);  
  13.         System.out.println(AA.Next.Next.Data);  
  14.     }  
  15. }  

单链表的头指针head也是一个结点引用,声明如下:

[java]  view plain copy
  1. Node<E> head = null;  

当head ==null时,表示空单链表。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值