Lua初学习 9-14_01 数据结构 ---> 数组与矩阵

1:直接用table声明并初始化一个数组

     arr = {1,2,3,4,5,6,7}       ------> index 从 1 开始

2:循环创建一个数组

arr = {}

for i =1, 1000 do

    arr[i] =0

end

------>拿到数组长度 #arr(即时arr index从 -100 或者 99开始,#arr返回的都是1000)  这里的数组初始化value全部为0  

       

3:创建一个矩阵

matrix = {}

--声明一个 M 行 N 列的矩阵

for i = 1, M do

     matrix[i] = {}

     for j = 1 , N do

     matrix[i][j] = i*j

      end

end

--接下来输出第X行 第Y列
print(matrix[1][1] .. matrix[1][2] .. matrix[1][3])
print(matrix[2][1] .. matrix[2][2] .. matrix[2][3])
print(matrix[3][1] .. matrix[3][2] .. matrix[3][3])

------->如果 M = 3 ; N = 3

------->输出:1 2 3

                     2 4 6

                     3 6 9  

===============下面创建一个金字塔矩阵================

matrix = {}

for i = 1, 3 do  --行数当然是多行

     matrix[i] = {}

     for j = 1, i do --列从1 到 i 的最大值

     matrix[i][j] = i*j

     end

end

--接下来输出第X行 第Y列
print(matrix[1][1])
print(matrix[2][1] .. matrix[2][2] )
print(matrix[3][1] .. matrix[3][2] .. matrix[3][3])
print(matrix[1][10])

------>输出: 1          2 4        3 6 9       nil

 

4:合并索引矩阵

matrix = {}

for i =1, 3 do

     for j = 1, 3 do

     matrix[(i-1)*10+j] = i*j

     end

end

--接下来输出所有k v

for k in pairs(matrix) do

    print(k,matrix[k])

end

-------->输出:  (顺序有些不对  Lua的问题;当然也可以不遍历输出就不会错位)

1 1
2 2
3 3
11 2
13 6
21 3
12 4
23 9
22 6

 

posted on 2016-09-14 09:18  tianjiuwan  阅读(270)  评论(0编辑  收藏  举报