此第一版為 Lua 5.0 所撰寫。雖然對於後續版本仍有很大的關聯性,但仍有一些差異。
第四版以 Lua 5.3 為目標,可在 Amazon 和其他書店購買。
購買此書,您也同時 贊助了 Lua 專案


11.3 – 連結串列

由於表格是動態實體,因此在 Lua 中實作連結串列非常容易。每個節點都以表格表示,而連結僅是包含對其他表格的參考之表格欄位。例如,若要實作一個基本串列,其中每個節點都有兩個欄位,nextvalue,我們需要一個變數作為串列根目錄

    list = nil
若要插入一個元素到串列開頭,其值為 v,我們執行
    list = {next = list, value = v}
若要遍歷串列,我們撰寫
    local l = list
    while l do
      print(l.value)
      l = l.next
    end

其他類型的串列,例如雙向連結串列或循環串列,也可以輕鬆實作。然而,您在 Lua 中很少需要這些結構,因為通常有更簡單的方法來表示您的資料,而不需要使用串列。例如,我們可以使用一個(無界)陣列來表示堆疊,其中一個欄位 n 指向頂端。