Java链表

代码结构如下

 

 首先创建一个节点类,这个类有两个属性,一个是数据,一个是指向下一个对象的引用(指针)

public class Node {
    int data;       //数据域
    Node next;      //下一个节点

    //构造方法
    public Node(int data){
        this.data = data;
        //每创建一个新的节点,他的下一个都设置成null
        this.next = null;
    }
}

一个链表需要一个头节点,和一个遍历用的引用(指针)

public class LinkedList {
    private Node first;     //用来存放头节点
    private Node last;      //用来遍历的节点,存数据,读数据

    //判断链表是否为空
    public boolean isEmpty(){
        return (first == null);
    }

    //打印链表
    public void printList(){
        //从头节点向后遍历,输出数据
        Node node = first;
        while(node != null){
            System.out.print(node.data + "  ");
            node = node.next;
        }
    }

    //插入链表
    public void insert(int data){
        Node newNode = new Node(data);
        if(this.isEmpty()){
            //如果头节点为空,给frst赋值,last指向第一个节点
            first = newNode;
            last = newNode;
        }else{
            //给指向的节点后面加一个节点,然后再指向最后那个节点
            last.next = newNode;
            last = newNode;
        }
    }

    public static void main(String[] args) {
        LinkedList list = new LinkedList();

        list.insert(3);
        list.insert(1);
        list.insert(2);
        list.insert(5);
        list.insert(8);
        list.printList();
    }
}

 

posted @ 2020-04-21 10:42  草木深  阅读(151)  评论(0编辑  收藏  举报