使用java实现的超简单的单向链表 头插法

//链表节点类实现
public class Node<T> {

    /**  * 下一个节点  */  Node<T> next;

    /**  * 节点存储的数据  */  T val;

    /**  *  * @param val data域  * @param next 指针域  */  Node(T val,Node<T> next){
        this.val=val;
        this.next=next;
    }

    boolean hasNext(){
        return this.next!=null;
    }
}
//单链表的操作类
public class LinearList<T> {
    //链表头结点
    Node<T> head;

    public LinearList(){
        //空链表
        this.head=new Node<T>(null,null);
    }
    
    //头插法 链表 指针指向最this.head
    void add(T val){
        this.head=new Node<T>(val,this.head);
    }
    
    public static void main(String[] args) {
        LinearList<Integer> list = new LinearList<Integer>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        list.add(5);
        Node<Integer> head = list.head;
        while (head.hasNext()) {
            System.out.println(head.val);
            head = head.next;
        }
    }
}

你可能感兴趣的:(使用java实现的超简单的单向链表 头插法)