Page 1 of 1

Function to "push" a list to the right or left

Posted: Tue Jun 12, 2012 9:18 am
by zcohen
Hi everybody,
I have to write a function that (push-left (L)) "pushes" a list to thr right or to the left.

For example:
(push-left '(1 2 3 4)) will give (2 3 4 1)
(push-right'(1 2 3 4)) will give (4 1 2 3)

The lecturer said we can't use functions 'last' or 'butlast'.
I tried to solve it with no success. Can you give me direction? Is there a way to solve it by recursion?

I thought to simply do this: (cons (rest L) (first L)), but it gives (rest L) as a list. Is there a way to "unlist" it?

Thanks,
Zevi

Re: Function to "push" a list to the right or left

Posted: Tue Jun 12, 2012 5:07 pm
by gugamilare
Try using the function append ;)