数据结构---链表(java实现)

近来越来越感觉数据结构和算法的重要性,于是决定花时间整理一下数据结构,一来希望自己能够更加深刻地理解数据结构,二来也希望和大家认真分享一下自己的理解,希望能够一起学习,一起进步,开心每一天。

今天先复习一下数据结构中比较常见的链表。本文以图示方法和代码演示详细地对链表及相关演变的链表做一个详细的讲解。希望看到这边文章的各位博友能够评论一下,哪怕是发个“已读”也好微笑,感觉这样才有讨论的学习氛围。

单链表

这是链表中结构最简单的,一个单链表的节点(Node)分为两部分,第一个部分保存或者显示节点的信息,另一个部分存储的是下一个节点的地址,最后一个节点存储的地址的部分指向的是空值。


单向链表的图示(上班也挺忙的,盗个图大笑

单链表只可向一个方向遍历,一般查找一个节点的时候需要从第一个节点开始访问,一直访问到需要的位置。而插入一个节点,对于单链表,我们只提供在链表头插入,只需要将当前插入的节点设置为头结点,next节点指向原头节点即可,删除一个节点,我们将该节点的前一个节点的next指向该节点的下一个节点。


单链表中插入新的节点


删除节点

代码实现:

public class SingleLinkedList {
	private int size; //链表节点的个数
	private Node head;
	
	public SingleLinkedList(){
		size = 0;
		head = null;
	}
	
	private class Node{
		private   Objec
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值