2014-05-09 44 views
-2

我有一個問題。如何在計劃中製作兩個列表,一個是偶數,另一個是奇數?

例如:

我們有一個無序列表:

(1 4 5 3 6 7) 

你能不能幫我2列出

一個奇數,增加列表:

(1 3 5 7) 

和偶數其他,降低列表:

(6 4) 

不要排序使用!

+2

a。你有什麼嘗試?灣(4 6)正在增加,而不是減少。 –

+0

哦。 sr sr ....... – trnthanhtu

+0

你能從一個參數未排序列表中創建一個按降序排列的列表嗎?從這項任務開始。告訴我們你的代碼。 :)(不,我並沒有讓你失望,但是無論誰做了什麼都是對的,因爲你真的應該在這裏展示一些代碼,否則這是一個糟糕的問題,它會被關閉,如果你這樣做很多你得到*禁止*要求....當心!:)) –

回答

1
(define (split filter lst) 
    (let loop ((a '()) (b '()) (lst lst)) 
    (if (null? lst) 
     (values a b) 
     (let ((cur (car lst))) 
      (if (filter cur) 
       (loop (cons cur a) b (cdr lst)) 
       (loop a (cons cur b) (cdr lst))))))) 

(split odd? '(1 2 3 4 5 6 7 8 9 10)) 
; ==> (9 7 5 3 1), (10 8 6 4 2) 

現在,使一個從賠付和特定的順序分離賠率很簡單。

+0

非常感謝你。那很棒! – trnthanhtu

相關問題