小编use*_*892的帖子

用球拍分割列表

给定一个列表和一个数字 n,我尝试将一个列表拆分为两个单独的列表:一个列表为长度为 n 的列表,第二个列表是原始列表的其余部分。

这是我所拥有的:

(define (part lst i)
(if (> i 0)
(list (append (list (first lst)) (list (part (rest lst) (- i 1)))))
(append lst)))
Run Code Online (Sandbox Code Playgroud)

其中lst是输入的列表,i是数字。当我输入带有数字 2 的列表 '(1 2 3 4) 时,我返回的输出为: '((1 ((2 (3 4))))) 而不是我想要的 '((1 2 )(3 4))。

这是一项家庭作业,所以如果有人能指出我的问题所在的正确方向,我将不胜感激,并且因为这是一项硬件作业,所以我只允许使用简单的球拍功能。

编辑:

当我将代码更改为:

(define (part lst i)
(if (> i 0)
(append (list (first lst)) (list (part (rest lst) (- i 1))))
(append lst)))
Run Code Online (Sandbox Code Playgroud)

我得到的输出为 '(1 (2 (3 4)))。

racket

2
推荐指数
1
解决办法
9738
查看次数

指向C中的多维数组?

可以将指向C中多维数组的指针简单地写为:

double *array;
Run Code Online (Sandbox Code Playgroud)

arrayn乘n矩阵在哪里?

然后,我可以访问该元素的行i,列j,由array[i][j]

还是有双指针这样的东西?

c arrays pointers

1
推荐指数
1
解决办法
912
查看次数

标签 统计

arrays ×1

c ×1

pointers ×1

racket ×1