当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:15:00  来源:本站整理

Java中实现链表和双向链表[Java编程]

赞助商链接



  本文“Java中实现链表和双向链表[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

链表是一种重要的数据构造,在程序计划中占据很重要的地位.C语言和C++语言中是用指针来实现链表构造的,由于Java语言不供应指针,所以有人认为在Java语言中不能实现链表,其实不然,Java语言比C和C++更简单实现链表构造.Java语言中的对象引用实际上是一个指针(本文中的指针均为概念上的意义,而非语言供应的数据范例),所以我们可以编写这样的类来实现链表中的结点.

class Node
{
  Object data;
  Node next;//指向下一个结点
}

将数据域定义成Object类是因为Object类是广义超类,任何类对象都可以给其赋值,增添了代码的通用性.为了使链表可以被拜候还需求定义一个表头,表头必须包含指向第一个结点的指针和指向当前结点的指针.为了便于在链表尾部增添结点,还可以增添一指向链表尾部的指针,别的还可以用一个域来表示链表的大小,当调用者想得到链表的大小时,没必要遍历整个链表.下图是这种链表的表示图:

链表的数据构造

我们可以用类List来实现链表构造,用变量Head、Tail、Length、Pointer来实现表头.存储当前结点的指针时有一定的本领,Pointer并非存储指向当前结点的指针,而是存储指向它的前趋结点的指针,当其值为null时表示当前结点是第一个结点.那么为什么要这样做呢?这是因为当删除当前结点后仍需保证剩下的结点构成链表,假如Pointer指向当前结点,则会给操作带来很大艰难.那么若何得到当前结点呢,我们定义了一个办法cursor(),返回值是指向当前结点的指针.类List还定义了一些办法来实现对链表的基本操作,通过应用这些基本操作我们可以对链表举行各种操作.比方reset()办法使第一个结点成为当前结点.insert(Object d)办法在当前结点前插入一个结点,并使其成为当前结点.remove()办法删除当前结点同时返回其内容,并使后来继结点成为当前结点,假如删除的是最后一个结点,则第一个结点变成当前结点.


  以上是“Java中实现链表和双向链表[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 利用Javascript实现网页水印(非图片水印)
  • Java开辟环境的搭建
  • Ubuntu java安装与配置
  • 办理Ubuntu 10.04 Firefox3.6 Java浏览器插件不工作的问
  • Ubuntu重装后Java环境的设置
  • Sun Java进入Ubuntu 10.10软件中央
  • Ubuntu 10.10配置Java开辟环境
  • 在Ubuntu 10.10中配置Java环境变量的办法
  • Ubuntu下Java环境的搭建
  • Ubuntu 10.04 下安装 Java, JRE
  • Ubuntu 10.04下的搭建SUN JAVA开辟环境
  • Ubuntu 12.04安装java7
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .