java数据结构与算法_day3~day5

                                                        单链表

链表:有序列表

        1.链表是以节点的方式存储的,是链式存储

        2.每个节点包含data域、next域(指向下一个节点)

        3.链表的各个节点不一定是连续存储

        4.链表分为带头节点的链表和没有带头节点的链表,根据需求确定

eg:使用带dead头的单向链表实现-水浒英雄排行榜管理

        1.完成对英雄人物的增删改查

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

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

$1:

        首先要定义一个节点类(no、name、nickName(昵称)、next)

        再定义一个链表类:

                添加节点:

                        1.先创建一个head头节点,只表示单链表的头,不存放具体的数据

                        2.后面我们每添加一个节点,就直接加入到链表的最后

                查:

                        1.通过一个辅助变量,帮助遍历整个链表(head不能动)

$2(添加的第二种方法):

        1.首先通过辅助变量temp找到新添加节点的位置

        2.新的节点.next=temp2.next

        3.将temp1.next=新的节点

$3:

        1. 根据newHeroNode的no来修改即可,找到该节点的前一个

$4:

        1.我们先找到需要删除的这个节点的前一个节点temp

        2.temp.next==temp.next.next

        3.被删除的节点,将不会有其他引用指向,会被垃圾回收机制回收

        4.说明:我们在比较时,是temp.next.no和性需要删除的节点的no比较

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

L俊可~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值