中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

LinkedList源碼分析

發布時間:2020-08-03 10:06:54 來源:網絡 閱讀:210 作者:mufeng07 欄目:編程語言

//雙端隊列
//大小
transient int size = 0;
//第一個節點元素
transient Node<E> first;
//最后一個節點元素
transient Node<E> last;

public LinkedList() {
}

private static class Node<E> {
E item;
Node<E> next;
Node<E> prev;

    Node(Node<E> prev, E element, Node<E> next) {
        this.item = element;
        this.next = next;
        this.prev = prev;
    }
}

//在首位追加
private void linkFirst(E e) {
final Node<E> f = first;
final Node<E> newNode = new Node<>(null, e, f);
first = newNode;
if (f == null)
last = newNode;
else
f.prev = newNode;
size++;
modCount++;
}

/**
 * Links e as last element.
 */
 //在末位追加
void linkLast(E e) {
    final Node<E> l = last;
    final Node<E> newNode = new Node<>(l, e, null);
    last = newNode;
    if (l == null)
        first = newNode;
    else
        l.next = newNode;
    size++;
    modCount++;
}

/**
 * Inserts element e before non-null Node succ.
 */
 //在指定節點前添加元素
void linkBefore(E e, Node<E> succ) {
    // assert succ != null;
    final Node<E> pred = succ.prev;
    final Node<E> newNode = new Node<>(pred, e, succ);
    succ.prev = newNode;
    if (pred == null)
        first = newNode;
    else
        pred.next = newNode;
    size++;
    modCount++;
}

/**
 * Unlinks non-null first node f.
 */
private E unlinkFirst(Node<E> f) {
    // assert f == first && f != null;
    final E element = f.item;
    final Node<E> next = f.next;
    f.item = null;
    f.next = null; // help GC
    first = next;
    if (next == null)
        last = null;
    else
        next.prev = null;
    size--;
    modCount++;
    return element;
}

/**
 * Unlinks non-null last node l.
 */
private E unlinkLast(Node<E> l) {
    // assert l == last && l != null;
    final E element = l.item;
    final Node<E> prev = l.prev;
    l.item = null;
    l.prev = null; // help GC
    last = prev;
    if (prev == null)
        first = null;
    else
        prev.next = null;
    size--;
    modCount++;
    return element;
}

//添加元素
public boolean add(E e) {
//在鏈表最后一個節點追加一個節點
linkLast(e);
return true;
}

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

茶陵县| 临江市| 龙井市| 新蔡县| 宣恩县| 五原县| 高阳县| 怀集县| 高碑店市| 岐山县| 十堰市| 东城区| 瑞昌市| 碌曲县| 阿尔山市| 大理市| 康保县| 镇赉县| 梁山县| 永川市| 荥经县| 平塘县| 吉木乃县| 潼关县| 宣武区| 维西| 澜沧| 琼结县| 佛山市| 都昌县| 新河县| 班戈县| 鹤壁市| 枝江市| 彰化市| 剑川县| 南安市| 泾川县| 柘荣县| 宜川县| 呼和浩特市|