编辑代码

class Main {
    public static void main(String[] args) {
        int[] a = {1, 2, 3, 4, 5};
        int[] b = {10};
        LinkList L = new LinkList();
        L.CreateLinkList(a);
        L.PrintLinkList();
        L.InsertNode(7, 5);
        L.PrintLinkList();
        L.DeleteNode(2);
        L.PrintLinkList();
        L.DeleteNode(5);
        L.PrintLinkList();
        L.Count();
    }
}
class Node{
    int num;
    Node node;
    public Node() {}
    public Node(int num) {
        this.num = num;
    }
}
class LinkList {
    Node Head;
    public LinkList() {
        Head = new Node();
        Head.node = null; 
    }

    void CreateLinkList(int[] NumList) {
        Node p = Head;
        for (int i = NumList.length - 1; i > -1; i--) {
            Node s = new Node(NumList[i]);
            s.node = p.node;
            p.node = s;
        }
    }

    void InsertNode(int num, int position) {
        int j = 0;
        Node p = Head.node;
        while (p != null && j < position - 1) {
            j++;
            p = p.node;
        }
        if (p == null || j > position) {
            System.out.println("the position is wrong");
            return;
        }
        Node r = new Node(num);
        r.node = p.node;
        p.node = r;
    }
    void DeleteNode(int position) {
        int j = 0;
        Node p = Head.node;
        while(p.node != null && j < position - 1) {
            j++;
            p = p.node;
        }
        if (p.node == null || j > position) {
            System.out.println("Wrong position");
            return;
        }
        Node r = p.node;
        p.node = r.node;
        System.out.println("the " + r.num + " is deleted");
    }
    void PrintLinkList() {
        Node p = Head.node;
        while(p.node != null) {
            System.out.print(p.num);
            System.out.print(" -> ");
            p = p.node;
        }
        System.out.println(p.num);
    }

    void Count() {
        int j = 0;
        Node p = Head.node;
        while(p != null) {
            j++;
            p = p.node;
        }
        System.out.println(j);
    }
}