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;
*********
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
- java学习笔记之单链表的插入和删除
- 面试之路(10)-BAT面试之java实现单链表的插入和删除
- MySQL学习之插入、更新和删除
- Java学习之为什么说LinkedList的插入和删除性能比ArrayList好,而ArrayList的查询更好?
- 单链表的插入和删除
- 单链表的插入和删除
- 单链表的插入和删除
- 单链表的插入和删除
- 单链表的插入和删除
- 《从零开始学Swift》学习笔记(Day 14)——字符串的插入、删除和替换
- 《从零开始学Swift》学习笔记(Day 14)——字符串的插入、删除和替换
- java单链表的添加、插入、删除
- 单链表的插入和删除(C++)
- 单链表的插入和删除 C++实现
- 单链表的插入和删除操作
- 单链表的插入和删除操作
- MongoDB的学习(1)--文档的插入、删除和更新
- JAVA学习笔记总结(五):用面向过程的方法实现数组的插入,查找,删除,显示
- 八大排序 -- 交换排序之【冒泡排序】
- SQL(十四)-连接表
- JFreeChart使用
- INFORMATION_SCHEMA.INNODB_LOCKS
- kafka offset查询、提交
- java学习笔记之单链表的插入和删除
- 编码问题
- Shell脚本IF条件判断和判断条件总结
- Ambari学习17_Amabri 2.1安装HDP2.3.2 之 七、自定义HDP服务
- 因果图方法
- Java 序列化
- Java 编程风格指南--Google
- Java基础-集合框架2 Collection和Iterator接口
- MapWindow6初试