【无标题】

本文介绍了链表这一数据结构,包括其存储方式和节点构成,强调了链表节点的data域和next域。通过一个实际案例——水浒英雄排行榜管理,展示了链表在增删改查操作中的应用。讨论了两种添加英雄的方法:一种是在链表尾部添加,另一种是按排名插入。此外,还提供了HeroNode和SingleLinkedList类的简单代码实现。

链表

链表(Linked List)介绍

链表是有序的列表,但是它在内存中是存储如下

 

小结:

  1. 链表是以节点的方式来存储,是链式存储
  2. 每个节点包含 data 域, next 域:指向下一个节点.
  3. 如图:发现链表的各个节点不一定是连续存储.
  4. 链表分带头节点的链表和没有头节点的链表,根据实际的需求来确定

结合一个实际的工作案例, 说明链表的实用价值

单链表(带头结点) 逻辑结构示意图如下

 

使用带head头的单向链表实现 –水浒英雄排行榜管理

完成对英雄人物的增删改查操作, 注: 删除和修改,查找
可以考虑学员独立完成,也可带学员完成

第一种方法在添加英雄时,直接添加到链表的尾部

第二种方式在添加英雄时,根据排名将英雄插入到指定位置
(如果有这个排名,则添加失败,并给出提示)

下面代码是节点类

class HeroNode {

public int no;

public String name;

public String nickname;

public HeroNode next; // next 默认为null

public HeroNode(int hNo, String hName, String hNickname) {

no = hNo;

name = hName;

nickname = hNickname;

}

}

//链表类

class SingleLinkedList {

  //初始化一个头节点

  private HeroNode head = new HeroNode(0, "", "");}

 public void list() {

    HeroNode temp = head.next;}

 public void del(int no) {

HeroNode temp = head;

boolean flag = false; // 标志变量用于确定是否有要删除的节点

}

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值