zoukankan      html  css  js  c++  java
  • java数据结构-普通链表实现

    package com.node;

    /**
    * @auther 付强
    * @date 2020/2/14 - 9:20
    */
    //一个节点
    //普通链表
    public class Node {
    //节点内容
    int data;
    //下一个节点
    Node next;
    public Node(int data){
    this.data=data;
    }
    //为节点追加节点
    public Node append(Node node){
    //当前节点
    Node currentNode=this;
    //循环向后找
    while (true){
    //取出下一个节点
    Node nextNode=currentNode.next;
    //如果下一个节点为null,当前的节点已经是最后的节点了
    if(nextNode==null){
    break;
    }
    //赋给当前节点
    currentNode=nextNode;
    }
    //把需要追回的几点找到当前节点的下一个节点
    currentNode.next=node;
    return this;
    }
    //插入一个节点追加为找的当前节点的下一个节点
    public void after(Node node){
    //取出下一个节点作为下下个节点
    Node nextNext=next;
    //把新节点作为当前节点的下一个节点
    this.next=node;
    //把下下个节点设置为新节点的下一个节点
    node.next=nextNext;

    }
    //显示所有节点信息
    public void show(){
    Node currentNode=this;
    while (true){
    System.out.print(currentNode.data+" ");
    //取出下一个节点
    currentNode=currentNode.next;
    //如果是最后一个节点
    if(currentNode==null){
    break;
    }
    }
    System.out.println();
    }
    //删除下一个节点
    public void removeNext(){
    //先取出下下个节点
    Node next = this.next.next;
    //把下下个节点设置为当前节点的下一个节点
    this.next=next;
    }

    //获取下一个节点
    public Node next(){
    return this.next;
    }
    //获取节点中的数据
    public int getData(){
    return this.data;
    }
    //当前节点是否为最后一个节点
    public boolean isLast(){
    return next==null;
    }
    }
  • 相关阅读:
    Linux shell 常用命令记录
    [Bat]批量重命名文件
    【转】java术语(PO/POJO/VO/BO/DAO/DTO)
    TesseractOCR3.0语言库训练步骤
    关于Delphi Rtti对应TDatetime的一些启示
    Ubuntu Server 12.04 安装mysql 5.6.10
    Delphi透明 圆角 窗体 【转】
    奇怪的~用法
    很有用的VS2005插件——SlickEdit
    还不习惯Office 2007
  • 原文地址:https://www.cnblogs.com/fuqiang-java/p/12309165.html
Copyright © 2011-2022 走看看