zoukankan      html  css  js  c++  java
  • 线性结构(二)----单链表

      单链表:

        通过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 }
    好好学习,天天向上。 努力工作,给自己的和家人一个满意的答案。。。。
  • 相关阅读:
    poj 1015 Jury Compromise(背包+方案输出)
    最长公共上升子序列 (poj 2127) (Greatest Common Increasing Subsequence)
    轮廓线DP:poj 2279 Mr. Young's Picture Permutations
    LCS的几种求法
    POJ 1737 Connected Graph(高精度+DP递推)
    Cats transport(codeforces311B)(斜率优化)
    高精度(压位+判负数+加减乘+读写)
    洛谷 P2257 YY的GCD
    [POI2007]ZAP-Queries (莫比乌斯反演+整除分块)
    [SDOI2010]古代猪文 (欧拉,卢卡斯,中国剩余)
  • 原文地址:https://www.cnblogs.com/axu521/p/9966720.html
Copyright © 2011-2022 走看看