单链表
链表:有序列表
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比较