首页 > 其他分享 >CS61B_lab02

CS61B_lab02

时间:2023-05-04 19:46:34浏览次数:39  
标签:CS61B rest origL lab02 IntList dSquareList null ptr

题目描述:

dcatenate(IntList A, IntList B):返回一个由A的所有元素组成的列表,后面是B的所有元素。可能会修改A。Don't use 'new'。

    public static IntList dcatenate(IntList A, IntList B) {
        if(A == null){
            return B;
        }
        IntList ptr = A;
        while(ptr.rest != null){
            ptr = ptr.rest;
        }
        ptr.rest = B;
        return A;
    }

与其类似:

    public static void dSquareList(IntList L) {

        while (L != null) {
            L.first = L.first * L.first;
            L = L.rest;
        }
    }

 

这段代码定义了一个静态方法 `dSquareList`,它接受一个 `IntList` 类型的参数 `L`。该方法首先检查参数 `L` 是否为 `null`,如果不是,就将 `L.first` 的值替换为其自身的平方,然后将 `L` 指向下一个元素 `L.rest`。循环会一直执行,直到 `L` 变成 `null` 为止。

在主程序中,首先创建一个 `IntList` 类型的变量 `origL`,它包含三个整数元素 1、2 和 3。然后调用 `dSquareList` 方法,将 `origL` 作为参数传递给它。该方法会修改 `origL` 的元素值,将它们变成 1、4 和 9。因为 `origL` 是一个对象,而不是基本类型的值,所以在 `dSquareList` 方法中修改 `L` 的同时也修改了 `origL`。

需要注意的是,该方法没有返回值,而是直接修改了输入的参数 `L`。如果需要保留原始列表的副本,则需要在调用该方法之前先进行复制。

标签:CS61B,rest,origL,lab02,IntList,dSquareList,null,ptr
From: https://www.cnblogs.com/xuenima/p/17372286.html

相关文章

  • Lab02-2
    <%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPEhtml><html><head><metacharset="UTF-8"><title>主页</title></head......
  • Lab02-3
    <%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPEhtml><html><head><metacharset="UTF-8"><title>Inserttitlehere<......
  • CS61B学习笔记_Lecture4 References, Recursion, and Lists
    还是得先熟悉java的语法规则,准备先回归CS61B了。。。Bits: 计算机将信息储存为内存,用bits(0或1)序列表示这些信息。(一般简写为“b”,注意不要与字节Byte搞混,字节一般用“B......
  • CS61B学习笔记_Project0
    1GameRules1.4x4网格,每个位置为空或者填有带有一个2的正整数次幂数字的贴图;2.第一次移动前,随机选择一个空位填入带有数字2或4的贴图,其中填充2的概率为75%,填充4的概率......
  • CS61A_lab02
    1defcycle(f1,f2,f3):2"""Returnsafunctionthatisitselfahigher-orderfunction.34>>>defadd1(x):5...returnx+16......
  • CS61A、CS61B、CS61C 反复学,学反复
    任何人开启CScareer都需要61ABC的知识作为基础完成这三门课大部分的工作基本可以胜任至少应付各种intern和coop是不成问题了对于本科生如果一学期上一门CS61系列的课那正......
  • cs61b笔记_Lists
    2.Lists2.1MysteryoftheWalrus海象之谜,主要解释了java是怎么传值的代码部分publicclassIntList{publicintfirst;publicIntListrest;//......