>>792
騙されたなw

add3 (n1:n2:n3:ns) x = n1:n2:n3:x:ns

も

add (n:ns) x 0 = x:ns
add (n:ns) x num = n:add ns x (num-1)

も同じ。二つは、再起でメモリ消費するかしないかだけで、データ構造としてのリストは「先頭から順に辿る」のは変わらずO(n)だw

破壊的かどうかも、メモリ上でリストをコピーするか、しないかだけで、データ構造としてのリストはどの言語でも、「先頭から順に辿る」は変わらず、O(n)なんだよwww

破壊的かどうかってのは、リストと言うデータ構造の速度とは別の問題。