4
幾年後,我正在重新學習編程的過程,目前我正在關注C#和Lua。我爲Lua使用的這本書有一個鏈接列表的例子,但我很難理解它是如何工作的。Lua中的鏈接列表示例如何工作?
list = nil
for line in io.lines() do
list = {next = list, value = line}
end
如果我讀這個權利
- 它創建一個新表
- 該表分配名單,設置了「下一個」鍵/標識符(正確的術語?)指向該列表(在第一個創建的表格點仍然沒有)
- 然後將「值」鍵/標識符設置爲
- 中的任何值,然後「列表」實際上指向新創建的泰德表
然後在下次運行通過循環
- 創建下一個表
- 設置的「下一個」鍵/標識符指向列表(其現在指向的先前創建的表)
- 然後設置「值」鍵/標識符進行任何讀取在
- ,則「清單」其實現在已經指向新創建的表...再次
我只是想確定我明白這是究竟是如何工作的,因爲它似乎有點古怪/奇怪的是,名單試圖在創建表,指着不管它是當前指向只是該行的執行之前完成,列表更新爲指向最新創建的表格。
還是我在這裏?
非常感謝。我特別爲「下一個」發生的任務感到困惑,因爲它看起來好像只是設置爲自己,但顯然理解執行代碼時執行任務的順序是理解這是工作。我曾預料過某種類似「當前」的「中間人」節點,類似於我在學習C++數據結構時所做的。感謝您幫助我剔除一點生鏽! – WannabeCoder