lua data structure

来源:互联网 发布:阿里妈妈淘宝客怎么用 编辑:程序博客网 时间:2024/06/14 04:11
数组         a = {}         for i = 1, 1000 do               a[i] = 0          end          print(#a)    -->1000          a = {}          for i = -5, 5 do               a[i] = 0          end矩阵          mt = {}          for i = 1, N do               mt[i] = {}               for j = 1, M do                    mt[i][j] = 0               end          end          mt = {}          for i, N do               for j = 1, M do                    mt[(i - 1)* M + j] = 0               end          end          将矩阵乘以一个常数          function mult (a, rowindex, k)               local row = a[rowindex]               for i, v in pairs(row) do                    row[i] = v * k               end          end链表          list = {next = list, value = v}                    遍历列表          lcoal l = list          while l  do               <>               l = l.next          end队列              List = {}               function List.new ()                    return {first = 0, last = -1}               end               function List.pushfirst (list, value)                    local first = list.first - 1                    list.first = first                    list[first] = value                end               function List.pushlast (list, value)                    local last = list.last + 1                    list.last = last                    list[last] = value               end               function List.popfirst (list)                    local first = list.first                    if first > list.last then                         error("list is empty")                    end                    local value = list[first]                    list[first] = nil                    list.first = first + 1                    return value               end               function List.poplast (list)                    local last = list.last                    if list.first > last then                         error("list is empty")                    end                    local value = list[last]                    list[last] = nil                    list.last = last - 1                    return value               end               l = List.new()               List.pushfirst(l, "sun")               List.pushfirst(l, "yan")               print(List.popfirst(l))               print(List.popfirst(l))字符串缓冲          使用函数table.concat                    local t = {}          for line in io.read() do                t[#t + 1] = line .. "\n"          end          local s = table.concat(t)           <==>           local t = {}          for line in io.lines() do               t[#t + 1] = line          end          local s = table.concat(t, "\n")          print(s)

0 0
原创粉丝点击