[Scheme] 循環のあるグラフをコピーする
コンスセルを使った循環のあるグラフをコピーする関数は次のように書ける。 (define (copy-graph-sub ht graph) (cond ((not (pair? graph)) graph) ((hash-table-exists? ht graph) (hash-table-ref ht graph)) (else (let ((p (cons #f #f))) (hash-table-set! ht graph p) (set-car! p (copy-graph-sub ht (car graph))) (set-cdr! p (copy-graph-sub ht (cdr graph))) p)))) (define Continue reading [Scheme] 循環のあるグラフをコピーする