双向链表

it2022-05-06  8

 画了几张图来方便理解以下双向链表是怎么实现的。

线的顺序:1.链表的上节指向node的上节,2.node给到链表的上节3.node给到链表的下节的下节

这个就是模拟添加三个元素时的运行过程,该过程由first记录;

这是代码:

public class SxtLinkedList03 {

  

   private   Node  first;

   private  Node  last;

  

   private  int size;

   public  void  add(Object  obj) {

      Node  node  = new Node(obj);

     

      if(first==null){

//        node.previous = null;

//        node.next = null;

          first = node;

          last = node;

      }else{

         

          node.previous = last;

          node.next = null;

         

          last.next = node;

          last = node;

         

      }

      size++;

   }

public static void main(String[] args) {

        lianxi5  list = new lianxi5();

        list.add("a");

        list.add("b");

        list.add("c");

        System.out.println(list.toString());

   }

}

 

class Node {

   Node  previous;    //上一个节点

   Node next;            //下一个节点

   Object element;    //元素数据

   int kkk;

   public Node(Node previous, Node next, Object element) {

      super();

      this.previous = previous;

      this.next = next;

      this.element = element;

   }

   public Node(Object element) {

      super();

      this.element = element;

   }

  

}


最新回复(0)