java 单向链表 一眼明了

    xiaoxiao2021-03-25  114

    对于刚入门不久新手来说,可能对于一些底层实现理解能力可能会比较差(排除高智商生物) 今天来说说单向链表的部分实现,主要讲的是理解知识 链表的实现,下面只实现增加和删除

    public class LinkedList{ private Node first; //定义一个头节点 public LinkedList1(){ first = null; } //一个内部类作为存储数据及下一个节点,相当于容器 private class Node{ private Node next = null; private Object obj; public Node(Object obj) { this.obj = obj; } } //添加一个对象 public void push(Object data) { //new 一个对象,存储数据,存储下一个引用,新的节点,节点中有节点,节点为null //Node node = new Node(data); node.text = null; 第一次存储时 Node node = new Node(data); //只需要知道上家,不需要知道下家,此为向,相反也是同理 node.next = first; //first头节点作为一个临时引用,<第一次>时,当前节点的下一个节点的是null,即next=null first = node; //为下一次存储做记录 } // 删除一个头结点,并返回头结点 public Object pop() { Node tempNode = first; first = tempNode.next; return tempNode.obj; } //显示所有节点 public void display(){ if(first == null) System.out.println("empty"); System.out.print("top -> bottom : | "); Node next = first; while(next != null){ System.out.print(next.obj.toString() + " | "); next = next.next; } System.out.print("\n"); } }

    下面测试类

    public class Main { public static void main(String[] args) { LinkedList linkedList = new LinkedList(); for (int i = 0; i < 5; i++) { linkedList.push(i); } linkedList.display(); //删除 System.out.println(linkedList.pop()); linkedList.display(); } }
    转载请注明原文地址: https://ju.6miu.com/read-24667.html

    最新回复(0)