• 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

  • 相关阅读:
    spring aop简单理解
    动态代理
    静态代理
    spring的i o c简单回顾
    java注解的概念理解
    Eclipse中配置Tomcat
    java中Optional和Stream流的部分操作
    java中的stream的Map收集器操作
    java中的二进制运算简单理解
    Class.forName和ClassLoader.loadClass区别(转)
  • 原文地址:https://www.cnblogs.com/cocotang/p/5870645.html
Copyright © 2020-2023  润新知