我工作的一個玩具語言,下面之間共享的元素是什麼,我試圖做的,思路載體
x = [1 2 3 4 5]
這定義了一個矢量,然後,
y = rest(x)
現在y保存所有x除了第一個元素。在本機方面,x是一個向量,當用戶調用它時,除了第一個元素外,它將自己完全複製它。這裏是問題,我只有2 kb的內存,使一個完整的副本是昂貴的。使用鏈表可以解決這個特定的問題,但如果在這種情況下存在內存,鏈表將自行鏈接。那麼是否有一種對這些類型的操作(首先休息是最常見的操作)共享元素的內存有效的結構?
這是一個函數式語言,所以一旦x被定義它不會改變,也沒有提升或std C++ libs可用,我將實現一切。
指向第一個元素的指針執行作業 – 2011-04-29 18:20:16
鏈接列表方法有什麼問題? – abeln 2011-04-29 18:20:23
@abeln:鏈表具有每個元素一個指針的開銷。 – 2011-04-29 18:21:41