关键词搜索

源码搜索 ×
×

(Java)单向链表实现

发布2020-01-03浏览487次

详情内容

链表是数据结构中经常见到的一种形式

所谓的链表就好像火车车厢一样,从火车头开始,每一节车厢之后都连着后一节车厢
在这里插入图片描述
可以看出要想清楚地表示一个节点之后还有另一个节点,可以在一个节点的内部存放下一个节点的引用

class Node{
    private String data; // 保存节点内容
    private Node next; // 保存下一个节点
    public Node(String data){
        this.data = data; // 构造方法设置节点内容
    }
    public String getData(){
        return this.data; // 得到节点内容
    }
    public void setNext(Node next){
        this.next = next; // 设置下一个节点
    }
    public Node getNext(){
        return this.next; // 取得下一个节点
    }
}

public class Test{
    public static void main(String[] args) {
        Node root = new Node("火车头"); // 定义根节点
        Node n1 = new Node("车厢-A"); // 定义第一个车厢
        Node n2 = new Node("车厢-B"); // 定义第二个车厢
        Node n3 = new Node("车厢-C"); // 定义第三个车厢
        root.setNext(n1); // 火车头的下一个节点是第一个车厢
        n1.setNext(n2); // 第一个车厢的下一个节点是第二个车厢
        n2.setNext(n3); // 第二个车厢下一个节点是第三个车厢
        printNode(root); //从根节点输出
    }
    public static void printNode(Node node){
        System.out.print(node.getData() + "\t"); // 输出数据
        if(node.getNext()!=null){ //判断节点是否为空
            printNode(node.getNext()); // 继续向下打印
        }
    }
}

    从代码中可知,判断一个节点是否还有后续节点,如果存在后续节点则输出,如果不存在则不输出,所以输出采用方法的递归完成(或称为迭代输出)

    相关技术文章

    点击QQ咨询
    开通会员
    返回顶部
    ×
    微信扫码支付
    微信扫码支付
    确定支付下载
    请使用微信描二维码支付
    ×

    提示信息

    ×

    选择支付方式

    • 微信支付
    • 支付宝付款
    确定支付下载