【问题标题】:Ragged and Jagged Arrays参差不齐和参差不齐的阵列
【发布时间】:2013-08-18 14:42:15
【问题描述】:

参差不齐和参差不齐的数组有什么区别?根据我的研究,两者具有相同的定义,即具有不同列长度的二维数组。

【问题讨论】:

  • 据我所知,这只是同一事物的两个名称。
  • 它们的意思是一样的。
  • 好吧,有什么不同名字的原因,可能是特定于编程语言的吗?
  • 您定义的唯一问题是参差不齐的/锯齿状数组可以有超过 2 个维度。

标签: java arrays jagged-arrays


【解决方案1】:

您的问题已经给出了正确答案^^,但为了完整性。

锯齿状数组或也称为不规则数组是一个 n 维数组,不需要反应角度:

int[][] array = {{3, 4, 5}, {77, 50}};

有关更多示例,您可以查看 herehere

【讨论】:

  • 感谢您的澄清。
  • 您能否分享任何链接,以便我可以阅读更多关于它们的信息?
【解决方案2】:

锯齿状数组是数组的数组,因此成员数组可以具有不同的大小,即,我们可以创建一个二维数组,但每行的列数是可变的。这些类型的数组也称为不规则数组。

Contents of 2D Jagged Array
0 
1 2 
3 4 5 
6 7 8 9 
10 11 12 13 14 

http://www.geeksforgeeks.org/jagged-array-in-java/

【讨论】:

    【解决方案3】:

    参差阵又称参差阵

    1- 锯齿状数组是非均匀数组

    2- 内部数组无法初始化,所以下面的代码 sn-p 会失败

       double[][] jagged = new double[2][3]; //error
    

    3- 相反,每个内部数组都是单独初始化的

       double[][] jagged = new double[2][];
       jagged[0] = new double[5];
       jagged[1] = new double[7];
    

    【讨论】:

    • double[][] jagged = new double[2][3]; 是有效的 Java,不是吗?你的意思是它只是一个“错误”,因为它不是一个参差不齐的数组吗?
    【解决方案4】:

    参差不齐的数组:是一个多维数组,每个维都有不同的大小

    例如:

    10 20 30
    11 22 22 33 44
    77 88
    

    锯齿状数组:数组中的每一项都是另一个数组。 C#代码:

    int[][] jaggedArray = new int[3][];
    jaggedArray[0] = new int[5];
    jaggedArray[1] = new int[4];
    jaggedArray[2] = new int[2];
    

    【讨论】:

    • 那不是真的有区别吗?
    • 那么实际的区别是什么。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-02
    相关资源
    最近更新 更多