LinkedList中add的方法原理

首先 在add方法中
public boolean add(E e) {
linkLast(e);
return true;
}

  1. //执行 linkLase()
    void linkLast(E e) {
    final Node l = last; //将 末指针 给 l 节点

    final Node newNode = new Node<>(l, e, null); //将新节点 perv(头) = l(上一个末指针末指针 为 空 ( 因为 最后一个为空)
    last = newNode; //last指向newNode
    if (l == null)
    first = newNode; //如果为空 说明 为 LinkedList 为 空
    else
    l.next = newNode; //指向newNode 只需要将last的next指向这个newNode就行了,这样就形成了双向链表
    size++;
    modCount++;
    }

LinkedLisk的删除 找到 中间的值 a 用 删除节点 b 和 a 去比较 b>a 从未开始找 b<a 从头开始找

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值