So (shift '(1 2 3)) would give
'((1 2 3) (2 3 1) (3 1 2))
and (shift '(1 1 1)) would get
'((1 1 1) (1 1 1) (1 1 1))
I wrote a function that shifts the list once, but I am not sure how to apply it so that it shows all possible shifts.
(define (shift-once lst)
(cond ((null? lst) '())
((null? (cdr lst)) lst)
(else (append (cdr lst) (list (car lst))))))
Thanks in advance!

New Topic/Question
Reply


MultiQuote




|