单链表和双链表

单链表(可以用来实现栈和队列)

    private class Node {
        /**
         * 链表存储的数据(泛型)
         */
        Item item;
        /**
         * 指向下一个节点的指针
         */
        Node next;
    }

删除链表的元素

image.png

添加元素

image.png

双向链表(实现LinkedList)

  /**
     * 链表节点
     * @param <AnyType> 
     */
    private static class Node<AnyType> {
        /**
         * @param d 数据
         * @param p 上一个节点
         * @param n 下一个节点
         */
        public Node(AnyType d, Node<AnyType> p, Node<AnyType> n) {
            data = d;
            prev = p;
            next = n;
        }

        /**
         * 数据
         */
        public AnyType data;
        /**
         * 上一个节点
         */
        public Node<AnyType> prev;
        /**
         * 下一个节点
         */
        public Node<AnyType> next;
    }
image.png

添加元素

image.png

    /**
     * 向目标元素p之前插入x
     *
     * @param p 目标p
     * @param x 插入的元素
     */
    private void addBefore(Node<AnyType> p, AnyType x) {
        /*构建一个新node,prev是p.prev,next是p  1,3*/
        Node<AnyType> newNode = new Node<>(x, p.prev, p);
        /*新node的上一个节点的next 指向自己 2*/
        newNode.prev.next = newNode;
        /*p的prev 指向自己 4*/
        p.prev = newNode;
        theSize++;
        modCount++;

    }

删除元素

image.png
    /**
     * 删除目标节点
     *
     * @param p 目标节点
     * @return 删除的数据
     */
    private AnyType remove(Node<AnyType> p) {
        p.next.prev = p.prev;
        p.prev.next = p.next;
        theSize--;
        modCount++;
        return p.data;
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 最近在复习数据结构时,感触颇深。 推荐程序员们有时间都可以复习下, 数据结构不仅仅是一门课程, 它更能理清我们开发...
    Bobby0322阅读 3,134评论 0 4
  • 栈 栈的英文单词是Stack,它代表一种特殊的线性表,这种线性表只能在固定一端(通常认为是线性表的尾端)进行插入,...
    Jack921阅读 1,544评论 0 5
  • LinkedList 源码分析 由于最近工作有点忙,进行了 APP 的部分优化,期间也学习了很多有关于布局优化和其...
    醒着的码者阅读 656评论 1 6
  • 文/龙伟平 我的朋友圈可真像个动物园啊。 西藏牦牛哥晒出练了半年的胸肌,天呐,目测有G罩杯,听朋友说他女朋友的胸比...
    龙伟平的故事屋阅读 398评论 0 5
  • 曾经,最想得到爱的时刻,发过疯,失过心,受过伤,自虐自惭,暗自发誓要学会一切,成为最好的样子,让不爱你的人后悔。可...
    海鱼恋阅读 311评论 0 0