Java中的链表及ListNode超详解,附案例

链表是一种数据结构:由数据和指针构成,链表的指针指向下一个节点。 链表 是用Java自定义实现的链表结构。

废话不多说,上代码 编程题当中,当需要用到ListNode的时候需要这样初始化,同时,下面的代码默认ListNode中装的是int,这里的int也可以改为其他,如char,string,

class ListNode {        //类名 :Java类就是一种自定义的数据结构
    int val;            //数据 :节点数据 
    ListNode next;      //对象 :引用下一个节点对象。在Java中没有指针的概念,Java中的引用和C语言的指针类似

    ListNode(int val){   //构造方法 :构造方法和类名相同   
        this.val=val;     //把接收的参数赋值给当前类的val变量
    }
}

创建以及遍历链表

class ListNode {        //类名 :Java类就是一种自定义的数据结构
    int val;            //数据 :节点数据 
    ListNode next;      //对象 :引用下一个节点对象。在Java中没有指针的概念,Java中的引用和C语言的指针类似

    ListNode(int val){  //构造方法 :构造方法和类名相同   
        this.val=val;   //把接收的参数赋值给当前类的val变量
    }
}

class Test{
    public static void main(String[] args){

        ListNode Listnode = new ListNode(0);    //创建首节点,节点的val是0.
        ListNode nextNode;                     //声明一个变量用来在移动过程中指向当前节点
        nextNode=Listnode;                      //指向首节点

        //创建链表
        for(int i=1;i<10;i++){
            ListNode node = new ListNode(i);  //生成新的节点
            nextNode.next=node;               //把新节点连起来
            nextNode=nextNode.next;           //当前节点往后移动
        }       //当for循环完成之后 nextNode指向最后一个节点,

        nextNode=Listnode;                     //重新赋值让它指向首节点
        print(nextNode);                      //打印输出

    }

    //打印输出方法
    static void print(ListNode listNoed){
        //创建链表节点
        while(listNoed!=null){
            System.out.println("节点:"+listNoed.val);
            listNoed=listNoed.next;
        }
        System.out.println();
    }

}

已有 0 条评论

    感谢参与互动!