zoukankan      html  css  js  c++  java
  • 实例讲解-单向列表的实现(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()) ;    // 向下继续输出
            }
        }
    };

    总结:

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

  • 相关阅读:
    计算机速成课 第十一集 编程语言发展史
    计算机速成课 第十集 早期的编程方式
    Sharepoint2013操作文档库内容的相关操作
    IE6 css fixed
    Sharepoint2013站点503错误的解决方法(图解)
    发布Sharepoint2013相关的WebService服务
    Spring 读书笔记Spring容器(二)
    (转)UML类图与类的关系详解
    (转)C# 操作 Excel 颜色索引对照
    (转)Silverlight显示本地图片、Stream转Byte数组
  • 原文地址:https://www.cnblogs.com/alsf/p/5520266.html
Copyright © 2011-2022 走看看