数据结构之单链表

/**
 * 
 * 单链表:一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。
 * 
 * 1、链接存储方法
 * 链接方式存储的线性表简称为链表(Linked List)。
     链表的具体存储表示为:
 * ① 用一组任意的存储单元来存放线性表的结点(这组存储单元既可以是连续的,也可以是不连续的)
 * ② 链表中结点的逻辑次序和物理次序不一定相同。为了能正确表示结点间的逻辑关系,在存储每个结点值的同时,还必须存储指示其后继结点的地址(或位置)信息(称为指针(pointer)或链(link))
注意:
  链式存储是最常用的存储方式之一,它不仅可用来表示线性表,而且可用来表示各种非线性的数据结构。

 	2、链表的结点结构
  	┌──┬──┐
  	│data│next│
  	└──┴──┘ 
       data域--存放结点值的数据域
       next域--存放结点的直接后继的地址(位置)的指针域(链域)
注意:
     ①链表通过每个结点的链域将线性表的n个结点按其逻辑顺序链接在一起的。
     ②每个结点只有一个链域的链表称为单链表(Single Linked List)。
【例】线性表(bat,cat,eat,fat,hat,jat,lat,mat)的单链表示如示意图

	3、头指针head和终端结点指针域的表示
     单链表中每个结点的存储地址是存放在其前趋结点next域中,而开始结点无前趋,
故应设头指针head指向开始结点。
注意:
     链表由头指针唯一确定,单链表可以用头指针的名字来命名。
【例】头指针名是head的链表可称为表head。
  终端结点无后继,故终端结点的指针域为空,即NULL。

	4、单链表的一般图示法
     由于我们常常只注重结点间的逻辑顺序,不关心每个结点的实际位置,可以用箭头来表示
 链域中的指针,线性表(bat,cat,fat,hat,jat,lat,mat)的单链表就可以表示为
 下图形式。
 
package jxau.blueDot.liyixiang;

/**
 * 
 * @author lyx
 *	@下午10:15:16
 * @TODO:
 * 	数据结构——单链表
 */
public class Link {

	public int iData;                //数据项
	public double dData;         //数据项
	public Link next;               //下一节点
	
	public Link(int iData, double dData) {
		super();
		this.iData = iData;
		this.dData = dData;
	}
	
	public void displayLink(){
		System.out.println("{"+iData + ":" + dData + "}");		
	}
	
}


转载于:https://my.oschina.net/liyixiangBlog/blog/270698

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值