8 Mayıs 2016 Pazar

Scheme Calismalarim #2


Half of List



First Half of List


(define first_half 
    (lambda (lst)
            (take lst (quotient (length lst) 2))))


Last Half of List


(define first_half 
    (lambda (lst)
            (drop lst (quotient (length lst) 2))))



Mid Element of List


(define mid_element 
    (lambda (lst)
            (let loop ((aliste lst)
                       (bliste (cdr lst)))
             (cond [(null? bliste) (list (car aliste))]
                   [(null? (cdr bliste)) (list (car aliste) (cadr aliste))]
                   [else (loop (cdr aliste) (cddr bliste))]))))




Controlling Whether Given Value is Element of List


(define is_element
      (lambda (value lst)
        (cond [(null? lst) #f]
          [(equal? (car lst) (car value)) #t]
              
              [else (is_element value (cdr lst))])))

Cons structure is like this : cons

Hiç yorum yok:

Yorum Gönder