0
我試圖執行該插入在它的相應位置中的列表的數字元件的功能,但是我有括號中的問題反向併發misfunction
(未(=(1 3 5 6 7 9月16日)(((1 3)5)6 7 9 16)))
我懷疑是因爲反向是在陌生的方式執行的,因爲如果我執行
(我的 - (((1 3)5)6 7 9 16))
我得到真正的答案:
(1 3 5 6 7 8 9 16)
這裏是我的代碼:
(defn insert [x lst]
(loop [prev() lst lst]
(cond
(empty? lst) (my-flatten (cons (reverse prev) (list x)))
(> (first lst) x) (my-flatten (cons (cons (reverse prev) (list x)) lst))
:else (recur (conj prev (first lst)) (rest lst)))))
你會考慮編輯你的原始問題,並在插入一個數字之前顯示你的列表的例子以及你希望它看起來像什麼之後?我從一開始就看到了一個樹狀結構(不是(= ...),但是對於你正在嘗試做什麼有點困惑,而且這些數字總是有序的,或者你的函數能夠呈現數字不符合要求?以不同的方式提出是(((1 3)5)6 7 9 16)'開始或結束,並且這個序列是否會有數字失序? – octopusgrabbus