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;
    }
    }
  • 相关阅读:
    hdu5608 function
    Codeforces Round #535 (Div. 3) 解题报告
    HDU4746 Mophues
    HDU5663 Hillan and the girl
    AtCoder Beginner Contest 117 解题报告
    GDOI2018D2T1 谈笑风生
    BZOJ4018: 小Q的幻想之乡
    牛客寒假算法基础集训营6 解题报告
    win32拖拽编程
    项目开发中的贝塞尔曲线
  • 原文地址:https://www.cnblogs.com/fuqiang-java/p/12309165.html
Copyright © 2011-2022 走看看