码迷,mamicode.com
首页 > 其他好文 > 详细

简单的链表实现

时间:2017-12-16 13:14:36      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:结构   link   body   return   turn   lin   markdown   his   logs   

Java LinkedList底层是基于双向链表来实现的,为了更好的理解其实现原理,自己对简单的链表结构做了Java实现,代码如下
class MyLinkedList

public MyLinkedList() {
    this.size = 0;
    this.last = null;
    this.first = null;
    head = first;
}

public boolean add(E e){
    linkLast(e);
    return true;
}

public void reset(){
    head = first;
}

public boolean hasNext(){
    return head != last.next;
}

public E next(){
    Node<E> temp = head;
    head = temp.next;
    return temp.item;
}

private void linkLast(E e) {
    Node<E> la = last;
    Node<E> newNode = new Node<E>(e, la, null);
    last = newNode;
    if (la == null){
        head = newNode;
        first = newNode;
    } else {
        la.next = newNode;
    }
    size++;
}

class Node<E>{
    E item;
    Node<E> pre;
    Node<E> next;

    public Node(E item, Node<E> pre, Node<E> next) {
        this.item = item;
        this.pre = pre;
        this.next = next;
    }
}

}

简单的链表实现

标签:结构   link   body   return   turn   lin   markdown   his   logs   

原文地址:http://www.cnblogs.com/canmeng-cn/p/8046123.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!