sqd*_*sqd 0 haskell functional-programming
如果它是链表,为什么它不支持push_back?
如果它只是数组,为什么在下标时需要线性时间?
感谢您的帮助.
编辑:我们可以在这样的列表前面添加元素1:[2,3],这是push_front; 但是我们不能这样做:[2,3]:4那是push_back.
PS.实际上我从C++的STL借用了push_front/back
Haskell列表是单链表.它支持追加到列表的末尾,但它必须遍历此操作的整个列表:
?> let x = [1,2,3]
?> x ++ [4]
[1,2,3,4]
Run Code Online (Sandbox Code Playgroud)