相关疑难解决方法(0)

Matrix Transpose Common Lisp

好吧,我被告知要在普通的lisp中制作一个Matrix Transpose功能.我是初学者,所以我不太了解它.

我的矩阵是一个列表列表,我不能使用apply,mapcar或类似的解决它,只有CONS,CAR和CDR.如果没有,我的解决方案将是这个(我把这个解决方案,所以有人可以使用它):

(DEFUN transpose (List)
    (apply #'mapcar #'list List)
)
Run Code Online (Sandbox Code Playgroud)

但我不能使用上述任何东西.

该函数必须是递归的,没有循环或类似的.

所以,问题是,怎么办呢?

这是我走了多远,但它让我出现溢出错误.我真的不知道该怎么做(我本可以用C++或Java完成它,但我被要求在Lisp中做到这一点......)

    (DEFUN transpose (Matrix)
        (COND   ((NULL Matrix) NIL
                ) 
                (T (CONS (CAR(CAR Matrix))(transpose (CONS (CAR(CDR Matrix)) (CDR Matrix))))
                )
        )
    )
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激!

recursion transpose common-lisp

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

标签 统计

common-lisp ×1

recursion ×1

transpose ×1