当前位置:  编程技术>java/j2ee

java实现数据结构单链表示例(java单链表)

    来源: 互联网  发布时间:2014-11-04

    本文导语:  代码如下:/** * 单向链表 * */public class NodeList { private static class Node { // 节点类  E data; // 节点上的数据  Node next; // 指向下一个节点   Node(E e) {   this.data = e;   this.next = null;  } }  private Node head; // 链表的头节点 private ...

代码如下:

/**
 * 单向链表
 *
 */
public class NodeList {
 private static class Node { // 节点类
  E data; // 节点上的数据
  Node next; // 指向下一个节点

  Node(E e) {
   this.data = e;
   this.next = null;
  }
 }

 private Node head; // 链表的头节点
 private Node last; // 链表的尾节点
 private Node other = null;
 private int length = 0; // 节点数量

 /**
  * 无参构造方法
  */
 public NodeList() {
  // 默认节点为空
  this.head = new Node(null);
 }

 /**
  * 初始化时创建一个节点
  *
  * @param data
  *            数据
  */
 public NodeList(E data) {
  this.head = new Node(data);
  this.last = head;
  length++;
 }

 /**
  * 添加一个节点(尾插法)
  *
  * @param data
  *            数据
  */
 public void add(E data) {
  if (isEmpty()) {
   head = new Node(data);
   last = head;
   length++;
  } else {
   Node newNode = new Node(data);
   last.next = newNode;
   last = newNode;
  }
 }

 /**
  * 获得索引处的数据(索引输入错误抛出越界异常)
  * @param index 索引
  * @return 索引处数据
  */
 public E get(int index){
  if(indexlength){
   throw new IndexOutOfBoundsException("索引越界:"+index);
  }
  other = head;
  for(int i=0;i


    
 
 

您可能感兴趣的文章:

  • 初学JAVA,请问各位哪本数据结构(JAVA版)比较好?
  • java 与数据结构
  • 放假了,想用java数据结构,请问大虾们该如何开始?
  • 请教:请问java中存放数据库中的记录,用什么数据结构?(hashtable?vector?还是别的?)
  • 请问哪里有关于JAVA版的数据结构的书当
  • 请教JAVA中的数据结构
  • 求救!!!!关于(数据结构(java版)王国瑜/叶乃菁 编著)
  • 哪里有《数据结构与算法分析(JAVA版)》的电子书下载,谢了:)
  • 请问哪里有《数据结构与算法分析(JAVA版)》的电子书下载????
  • 看过《数据结构与算法》(java版)谈谈一下感想?
  • 那个大侠可以推荐一本关于java的数据结构和算法的书?  
  • JAVA里哪一个数据结构库(hashtable,vector等)支持一对多的关系?
  • 请问:java中有队列(queue)这种数据结构吗?
  • Java结构化数据解析包 Lycia
  • 求助:在java中如何使用象C中struct的数据结构???
  • java数据结构之java实现栈
  • java中如何实现读写类似vc中结构数据?
  • 昨天买了本数据结构(JAVA语言版),大家说说这书怎么样?清华大学出版社,32.00RMB
  • java数据结构和算法学习之汉诺塔示例
  • 使用TCP协议通讯,如果有很多种数据要传输,如:注册信息等,在C++中,我们可以使用结构,java中通常大家又是如何打包的呢?
  • tab键在java里面如何表示!像vb重用vbtab表示tab键!我主要是想在一个字符串里面查询是不是含有tab键!谢谢了!在线等待
  • 关于JAVA中的负数二进制表示?
  • 在java中键盘的ESC键怎么表示?
  • Java中的空值用什么来表示?
  • 请问在Java Script中,回车符的表示是用什么来代替的!
  • java中如何表示time的类型,用那个包中的那个类?
  • java 中的 final 在这种情况下表示何种含义啊?
  • 我想编一个把javac和java连起来用的批处理文件,请批处理文件中的参数怎么表示?
  • Java 中的命令行参数怎么用代码行来表示?
  • 请问‘回车’在java中如何表示?如何替换?
  • 5个三角了:)散分200,对Java版同仁表示谢意。
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: stringflavor定义及介绍
  • 我对JAVA一窍不通,可惜别人却给我一个Java的project,要我做一个安装程序,请问哪里有JAVA INSTALLER下载,而且我要不要安装java的sdk才能完成此项任务?
  • java命名空间java.security类keystore的类成员方法: getdefaulttype定义及介绍
  • 新年第一天,让我们讨论一下未来一年JAVA的发展趋势! 个人认为,JAVA将主要朝ERP和JAVA手机方面发展!
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getclasspath定义及介绍
  • 我想学Java,但不知道Java的实用的开发工具有那些,Java主要用在哪些方面,EJB到底是什么东西??
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: javaserializedobjectmimetype定义及介绍
  • redhat7.3下,java程序打印中文直接用java命令执行正常,用crontab执行java命令为乱码
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: javafilelistflavor定义及介绍
  • 请问在Java Script中,回车符的表示是用什么来代替的! iis7站长之家
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getvmname定义及介绍
  • 请问java程序中的import为什么有的用java.….*,而有的又用java.….…,有什么区别吗?




  • 特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3