Skip to main content
Code Review

Return to Revisions

2 of 3
replaced http://codereview.stackexchange.com/ with https://codereview.stackexchange.com/

remove first occurance of element from list

As explained here i'm learning a limited subset of scheme.

My task has been to sort a numerical list. To implement a simple insertion sort, i need to remove a single element from a list.

I've done the following (in the spirit of The Little Schemer)

(define remove-elem
 (lambda (ll elem)
 (cond
 ((null? ll) '())
 ((eq? (car ll) elem) (cdr ll))
 (else 
 (cons (car ll) (remove-elem (cdr ll) elem))))
 ))

What are the other ways of implementing this function?

ricardo
  • 265
  • 4
  • 10
lang-lisp

AltStyle によって変換されたページ (->オリジナル) /