java学习笔记之单链表的插入和删除

来源:互联网 发布:淘宝开店必须要交钱吗 编辑:程序博客网 时间:2024/06/04 07:57
实现单链表的方式有两种:
*********
1.带有头结点的单链表
对节点处理的时候不用考虑节点的位置,
我们定义一个带有头结点
Node head 
head 的data域一般是不用的,head的next域指向链表的第一个有效节点。若链表为空,那么head.next =null


*********
2.不带头结点的单链表
我们需要定义一个头结点的引用变量头指针,头指针是整个链表的入口
例:Node first
first 指向第一个有效节点,链表为空则,first = null
***********************************************
单链表的操作
1.插入新节点
(1)空链表插入新节点s
if(first=null){
first =s;
last =s;
}
(2)在链表的头结点之前加入s
s.next =first;
first =s;
(3)链表中添加一个新节点s
s.next = p.next;
p.next = s;
(4)链表的尾部插入新节点s
last.next =s;
last = s;
2.删除链表节点
(1)链表是空链表
first =null  删除非法
(2)被删除的节点是头结点
p =first;
first =first.next;
return p.data;
(3)被删的节点是中间的某节点p
q.next = p.next;
return p.data;
0 0
原创粉丝点击