Java内部也有自己的链表--LinkedList,但是我们今天不是讨论LinkedList,而是自己来实现一个单链表,包括简单的增删查改:
1.单链表的结构
2.单链表的基本操作
单链表的结构构造
一种链式存取的数据结构,单链表中的数据是以结点的形式存在,每一个结点是由数据元素和下一个结点的存储的位置组成。单链表与数组相比的最大差别是:单链表的数据元素存放在内存空间的地址是不连续的,而数组的数据元素存放的地址在内存空间中是连续的,这也是为什么根据索引无法像数组那样直接就能查询到数据元素。
[单链表结构图]
链表存储的结点
链表的基本操作
包括链表的增删查改,以及判别某结点是否存在链表中
链表节点的增加
进行结点的添加的时候,用成员变量size记录了当前链表的元素个数(便于获取链表的总长度),这里只有头部添加addHead和尾部添加addTail
链表节点的删除
进行结点的添加的时候,这里只实现头部删除removeHead和尾部删除removeTail,这里链表长度同上面一样,依然控制数组长度。
链表节点值的删除
链表节点值的改变
查找链表中是否有这个值
输出链表