• 实例讲解-单向列表的实现(1)


    实例要求

    在数据结构中,经常看到一个基本概念,对于一个链表的实现基本都是基于引用数据类型的操作。

    如果要想设计一个链表,则肯定要设计一个链表的节点类。在此类中必须有一个属性可以保存下一个节点的引用地址。

    根据此概念,设计一个节点类。以String为数据保存内容。

    class Node{        // 定义节点类
        private String data ;    // 保存节点内容
        private Node next ;        // 表示保存下一个节点
        public Node(String data){        // 通过构造设置节点内容
            this.data = data ;    // 设置内容
        }
        public void setNext(Node next){
            this.next = next ;        // 设置下一个节点
        }
        public Node getNext(){    // 取得下一个节点
            return this.next ;
        }
        public String getData(){
            return this.data ;    // 取得节点的内容
        }
    };
    public class LinkDemo01{
        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) ;            // 设置火车头的下一个节点是第一个车厢A
            n1.setNext(n2) ;            // 设置第一个车厢的下一个节点是第二个车厢
            n2.setNext(n3) ;            // 设置第二个车厢的下一个节点是第三个车厢
            printNode(root) ;            // 从头开始输出,因为printNode()方法用static修饰了,所以才可以直接调用,
        }
        public static void printNode(Node node){    // 输出节点
            System.out.print(node.getData() + "	") ;    // 输出节点的内容
            if(node.getNext()!=null){        // 判断此节点是否存在下一个节点
                printNode(node.getNext()) ;    // 向下继续输出
            }
        }
    };

    总结:

    本程序中,所有的关系都是手工添加的,如果要想程序变得有意义,则需要为其加入一个操作的封装。

  • 相关阅读:
    几个关于设计的小问题
    基于建立/保持时间等的参数化时序分析
    Stratix内嵌存储器测试报告
    采用流水线技术实现8位加法器
    运算顺序引发的一系列有趣问题
    PON系统基础知识简介
    某MDU产品OMCI软件升级加速方案
    研究生期间接受的指导(二)
    研究生期间接受的指导(一)
    1063 Set Similarity (25 分)
  • 原文地址:https://www.cnblogs.com/alsf/p/5520266.html
Copyright © 2020-2023  润新知