Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
13
Task/Visualize-a-tree/Racket/visualize-a-tree.rkt
Normal file
13
Task/Visualize-a-tree/Racket/visualize-a-tree.rkt
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
#lang racket/base
|
||||
|
||||
(define (visualize t0)
|
||||
(let loop ([t t0] [last? #t] [indent '()])
|
||||
(define (I mid last) (cond [(eq? t t0) ""] [last? mid] [else last]))
|
||||
(for-each display (reverse indent))
|
||||
(unless (eq? t t0) (printf "|\n"))
|
||||
(for-each display (reverse indent))
|
||||
(printf "~a~a\n" (I "\\-" "+-") (car t))
|
||||
(for ([s (cdr t)] [n (in-range (- (length t) 2) -1 -1)])
|
||||
(loop s (zero? n) (cons (I " " "| ") indent)))))
|
||||
|
||||
(visualize '(1 (2 (3 (4) (5) (6 (7))) (8 (9)) (10)) (11 (12) (13))))
|
||||
Loading…
Add table
Add a link
Reference in a new issue