问题描述
原题目没有P30,这道题来源于Common LISP Recipes。题目要求对矩阵进行矩阵,如
⎛⎝⎜112131122232132333142434⎞⎠⎟T=⎛⎝⎜⎜⎜111213142122232431323334⎞⎠⎟⎟⎟
sash> (transpose '((11 12 13 14)
(21 22 23 24)
(31 32 33 34)))
sash> ((11 21 31)
(12 13 14)
(22 23 24)
(32 33 34))
解法
用map
能比较简单地实现。
(define transpose
(lambda (matrix)
(cons (map car matrix)
(map cdr matrix))))