linkedList源码初步实现理解

本文详细解析了链表中节点的组成及头节点添加操作的实现步骤,包括地址的传递和更新,确保链表结构的正确性和完整性。

一个节点的组成
(prev,element,next)
可以看作为(上一个节点的地址,元素,下一个节点的地址)

在lingkedList中 链表实际上有点指针的意思
在进行各项操作中 需要注意的是各个地址的传输操作
例如下面的添加到头节点的操作 就需要注意
1.要保留原本 头节点上的节点 的地址
2.因为是添加到头节点 所以prev不需要保存其他的地址 设为null就行 但我们的next上就需要保留原本的first的地址
3.操作完成后 因为我们的头节点已经发生改变 所以要重新设置地址为我们的新节点
4.需要判定是否为空集合 如果是的话 我们的尾节点保存的地址就是添加的节点地址
如果不是 那原本的节点的prev就要保留我们的新添加的节点地址
5.有效元素+1

public boolean addFirst(E e) {
		//每次操作时 都需要注意要进行什么样的位置传输
		
		Node<E> f = first;
	    Node<E> newNode = new Node<E>(null, e, f);
	    first = newNode;
	    if(first == null) {
	    	last = newNode;
	    }else {
	    	f.prev = newNode;
	    }
	    size+=1;
	    return true;
	}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值