栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在bash中声明2D数组

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在bash中声明2D数组

您可以使用例如哈希来模拟它们,但需要注意前导零和许多其他事情。下一个演示有效,但远非最佳解决方案。

#!/bin/bashdeclare -A matrixnum_rows=4num_columns=5for ((i=1;i<=num_rows;i++)) do    for ((j=1;j<=num_columns;j++)) do        matrix[$i,$j]=$RANDOM    donedonef1="%$((${#num_rows}+1))s"f2=" %9s"printf "$f1" ''for ((i=1;i<=num_rows;i++)) do    printf "$f2" $idoneechofor ((j=1;j<=num_columns;j++)) do    printf "$f1" $j    for ((i=1;i<=num_rows;i++)) do        printf "$f2" ${matrix[$i,$j]}    done    echodone

上面的示例创建了一个具有随机数的4x5矩阵,并将其打印后转置,示例结果

1         2         3         4 1     18006     31193     16110     23297 2     26229     19869      1140     19837 3      8192      2181     25512      2318 4      3269     25516     18701      7977 5     31775     17358      4468     30345

原理是:创建一个关联数组,其中索引是类似的字符串

3,4
。好处:

  • 可以用于任意维度的数组;)像:
    30,40,2
    3维。
  • 语法类似于数组的“ C”
    ${matrix[2,3]}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/399046.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号