• 单链表java实现及相关操作(版本2)


    版本2入下:还是先写一个Node,相比版本1,在Node里面增加了addNode方法和printNode()方法。

    package lianbiaoDemo02;
    public class Node {
        private Node next;
        private String data;
        public  Node() {    
        }
        public Node(String data) {
            this.data = data;
        }
        public Node getNext() {
            return next;
        }
        public void setNext(Node next) {
            this.next = next;
        }
        public String getData() {
            return data;
        }
        public void setData(String data) {
            this.data = data;
        }
        public void addNode(Node node) {
            if(this.next==null) {
                this.next=node;
            }else {
                this.next.addNode(node);//递归
            }
        }
        public void printNode() {
            System.out.println(this.getData());
            if(this.next!=null) {
                this.next.printNode();
            }        
            
        }
    }

    再写一个Link类,写了add方法调用了Node类里面的addNode,写了print方法,调用了Node里面pintNode方法。

    package lianbiaoDemo02;

     public class Link {
         private Node root;//根节点
         public void add(String data) {
             Node node=new Node(data);
             if(this.root==null) {
                 this.root=node;
             }else {
                 this.root.addNode(node);
             }
         }
         public void print() {
             if(this.root!=null) {
                 this.root.printNode();
             }
         }
    }
    最后是一个测试方法:

    package lianbiaoDemo02;
    public class LinkTest {
        public static void main(String[] args) {
            
            Link link=new Link();
            link.add("葫芦娃1");
            link.add("葫芦娃2");
            link.add("葫芦娃3");
            link.add("葫芦娃4");
            link.add("葫芦娃5");
            
            link.print();
        }
    }

    版本2还是存在缺陷,因为在main方法中还是可以对Node进行操作。接下来在版本3中采用内部类的方式

  • 相关阅读:
    Codeforces Round #279 (Div. 2) C. Hacking Cypher 机智的前缀和处理
    Codeforces Round #279 (Div. 2) A. Team Olympiad 水题
    Codeforces Round #279 (Div. 2) B
    利用Hog特征和SVM分类器进行行人检测
    opencv 支持向量机SVM分类器
    opencv hog算子
    NOIP 2008 传纸条 NOIP 2000 方块取数 多线程DP
    POJ 1654 Area 计算几何
    hihocoder #1015 KMP
    HDU 1722 Cake 数学题
  • 原文地址:https://www.cnblogs.com/had1314/p/11172577.html
Copyright © 2020-2023  润新知