Linked Lists

  • Linked Lists are created with Tables
  • Each element is an array with fields next and value

function addToHead (linkedList, itemValue) if linkedList == nil then local temp = {next="endOfListFlag", value = itemValue} return temp else local temp = linkedList linkedList = {next=temp, value = itemValue} return linkedList end end local linkedList = nil linkedList = addToHead(linkedList, "first element on list") linkedList = addToHead(linkedList, "Second element on list") linkedList = addToHead(linkedList, "Third element on list") linkedList = addToHead(linkedList, "Fourth element on list") local root = linkedList local done = false; while not done do print(linkedList.value) if(linkedList.next == "endOfListFlag") then done = true end linkedList = linkedList.next end