zoukankan      html  css  js  c++  java
  • 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)让女朋友住上大房子,永远年轻,永远热泪盈眶,很多人都是这样,他们都把自己当成身在梦中一样,浑浑噩噩地过日子,只有痛苦或爱或危险可以让他们重新感到这个世界的真实。
  • 相关阅读:
    FPGA quartus开发中常见的错误处理
    verilog中wire与reg类型的区别
    VC++6.0中ClassView中类消失 解决方案[转自网络]
    C++ 和 MFC的学习
    最近单片机编程中的心得
    #ifdef __cplusplus extern "C" { #endif”的定义的含义
    ES6字符串拼接新方法-模板字符串表达式
    JavaScript事件参数对象event
    JavaScript offset家族
    详解JavaScript中的replace()函数
  • 原文地址:https://www.cnblogs.com/make-big-money/p/10322249.html
Copyright © 2011-2022 走看看