Hello,
je m'arrache les cheveux en voulant implanter un arbre sous DrRacket.....
je voudrais implanter un arbre avec 3 branches à chaque nœud, par exemple (#f (#f (#f #v #f) #f) #f)

je voudrait une fonction à qui l'on donne un chemin et elle placera #true au bonne emplacement et en complétant automatiquement avec des #false si l'arbre n'est pas assez long...... .....compliqué tout ça

J'ai essayé quelque chose comme ça (sans succès):
Je ne sais pas s'il vaut mieux utiliser des listes ou des vecteurs pour l'arbre ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#lang racket

(define arbre (vector 2 3 9))

(define (arbre-set! chemin)

  (define (R n)
    (set! chemin (cdr chemin))
    (print (list chemin n))
    (if (vector-ref n (car chemin))
        (R (vector-ref n (car chemin)))
        n))

  (set! chemin (cons #f chemin))
  (vector-set! (R arbre) (car chemin) (let loop ((l (cdr chemin)))
                                        (if (null? l)
                                            #t
                                            (vector-set! (make-vector 3 #f) (car l) (loop (cdr l)))))))

(arbre-set! '(1 2 1))
(print arbre)