• 4.4 链表的遍历、查询和修改


    1.获取链表index位置的元素

     1  public E get(int index){   //创建方法get(index),获取索引为index的元素
     2 
     3         if(index < 0 || index >= size)
     4             throw new IllegalArgumentException("Get failed. Illegal index.");
     5 
     6         Node cur = dummyHead.next;  //cur:索引为0的元素
     7         for(int i = 0 ; i < index ; i ++)   //进行变量
     8             cur = cur.next;
     9         return cur.e;
    10     }
    11 
    12     // 获得链表的第一个元素
    13     public E getFirst(){
    14         return get(0);
    15     }
    16 
    17     // 获得链表的最后一个元素
    18     public E getLast(){
    19         return get(size - 1);
    20     }

    2 修改链表index位置的元素(更新)

     1  // 修改链表的第index(0-based)个位置的元素为e
     2     // 在链表中不是一个常用的操作,练习用:)
     3     public void set(int index, E e){
     4         if(index < 0 || index >= size)
     5             throw new IllegalArgumentException("Set failed. Illegal index.");
     6 
     7         Node cur = dummyHead.next;
     8         for(int i = 0 ; i < index ; i ++)   //进行遍历
     9             cur = cur.next;
    10         cur.e = e;
    11     }

    3 查找

     1  // 查找链表中是否有元素e
     2     public boolean contains(E e){
     3         Node cur = dummyHead.next;
     4         while(cur != null){
     5             if(cur.e.equals(e))
     6                 return true;
     7             cur = cur.next;
     8         }
     9         return false;
    10     }

    4.打印输出

     1 public String toString(){
     2         StringBuilder res = new StringBuilder();
     3 
     4 //        Node cur = dummyHead.next;
     5 //        while(cur != null){
     6 //            res.append(cur + "->");
     7 //            cur = cur.next;
     8 //        }
     9         for(Node cur = dummyHead.next ; cur != null ; cur = cur.next) //等价于上面的while循环
    10             res.append(cur + "->");
    11         res.append("NULL");
    12 
    13         return res.toString();
    14     }
    带女朋友搬家新家条件不好,累到女朋友了,让女朋友受苦了,特此明志:每天学习,明年这个时候(20190812)让女朋友住上大房子,永远年轻,永远热泪盈眶,很多人都是这样,他们都把自己当成身在梦中一样,浑浑噩噩地过日子,只有痛苦或爱或危险可以让他们重新感到这个世界的真实。
  • 相关阅读:
    oracle11g 卸载和安装(win7,32位)
    MySQL忘记密码解决办法
    GPIO硬件资源的申请,内核空间和用户空间的数据交换,ioctl(.....),设备文件的自动创建
    模块参数,系统调用,字符设备编程重要数据结构,设备号的申请与注册,关于cdev的API
    开发环境的搭建,符合导出,打印优先级阈值
    定时器中断
    Linux系统移植的重要文件
    linux 相关指令
    linux各文件夹含义和作用
    外部中断实验
  • 原文地址:https://www.cnblogs.com/make-big-money/p/10322249.html
Copyright © 2020-2023  润新知