• 线性结构(二)----单链表


      单链表:

        通过class建立对象,为对象给予特殊属性成为节点,多个节点形成链表

     1 public class Node {
     2     
     3     //节点内容
     4     int data;
     5     //下一个节点
     6     Node next;
     7     
     8     public Node(int data){
     9         this.data=data;
    10     }
    11     
    12     //为节点追加节点
    13     public Node append(Node node){
    14         //当天节点
    15         Node currentNode=this;
    16         //向后查找有没有节点
    17         while(true){
    18             //取出下一个节点
    19             Node nextNode=currentNode.next;
    20             //如果下一个节点为null,当前节点已经是最后一个节点
    21             if(nextNode==null){
    22                 break;
    23             }
    24             //赋给当前节点
    25             currentNode=nextNode;
    26         }
    27         //把需要追加的节点追加为找到,currentNode为找到需要追加的节点
    28         currentNode.next=node;
    29         return this;
    30     }
    31     
    32     //插入一个节点
    33     public void after(Node node){
    34         //取出下一个节点,作为新节点的下一个节点
    35         Node nextnext=next;
    36         //把这个节点的下一个节点设为新节点
    37         this.next=node;
    38         //
    39         node.next=nextnext;
    40         
    41     }
    42     
    43     //显示所有节点信息
    44     public void show(){
    45         Node currentNode=this;
    46         while(true){
    47             System.out.print(currentNode.data+" ");
    48             //取出下一个节点
    49             currentNode=currentNode.next;
    50             //如果是最后一个节点
    51             if(currentNode==null){
    52                 break;
    53                 }
    54             }
    55     }
    56     
    57     //删除下一个节点
    58     public void removeNext(){
    59         //先取出下下一个节点
    60         Node newnode= next.next();
    61         //替换下一个节点
    62         this.next=newnode;
    63     }
    64     
    65     //获取下一个节点
    66     public Node next(){
    67         return this.next;
    68     }
    69     
    70     //获取节点中数据
    71     public int getData(){
    72         return this.data;
    73     }
    74     
    75     //当前节点是否是最后一个节点
    76     public boolean isLast(){
    77         return next==null;
    78     }
    79     
    80 }
    好好学习,天天向上。 努力工作,给自己的和家人一个满意的答案。。。。
  • 相关阅读:
    关于2021-01-13爆发的incaseformat病毒相关信息收集1.2(持续更新和关注中...)
    (转)服务器UDIMM、LRDIMM、RDIMM三种内存的区别
    Shred命令 学习
    关于图片文件的元数据信息清理和时间戳修改
    关于Chrome 浏览器 “小尾巴”问题的解决办法
    CF471D MUH and Cube Walls -kmp
    UVA12467 Secret Word -kmp
    UVA12604 Caesar Cipher -kmp
    【JLOI2007】周期串
    Http协议
  • 原文地址:https://www.cnblogs.com/axu521/p/9966720.html
Copyright © 2020-2023  润新知