Что такое зубчатый массив?

Что такое зубчатый массив (в C#)? Любые примеры и когда следует их использовать....

7 ответов


зубчатый массив-это массив массивов.

string[][] arrays = new string[5][];

Это коллекция из пяти различных строковых массивов, каждый из которых может иметь разную длину (они также могут быть одинаковой длины, но дело в том, что нет гарантия что они есть).

arrays[0] = new string[5];
arrays[1] = new string[100];
...

Это отличается от 2D-массива, где он прямоугольный, то есть каждая строка имеет одинаковое количество столбцов.

string[,] array = new string[3,5];

зубчатый массив одинаков на любом языке, но именно там у вас есть 2+ - мерный массив с разной длиной массива во втором и за его пределами.

[0] - 0, 1, 2, 3, 4
[1] - 1, 2, 3
[2] - 5, 6, 7, 8, 9, 10
[3] - 1
[4] - 
[5] - 23, 4, 7, 8, 9, 12, 15, 14, 17, 18

хотя лучший ответ выбран владельцем вопроса, но все же я хочу представить следующий код, чтобы сделать jagged array более ясным.

using System;

class Program
{
static void Main()
 {
 // Declare local jagged array with 3 rows.
 int[][] jagged = new int[3][];

 // Create a new array in the jagged array, and assign it.
 jagged[0] = new int[2];
 jagged[0][0] = 1;
 jagged[0][1] = 2;

 // Set second row, initialized to zero.
 jagged[1] = new int[1];

 // Set third row, using array initializer.
 jagged[2] = new int[3] { 3, 4, 5 };

 // Print out all elements in the jagged array.
 for (int i = 0; i < jagged.Length; i++)
  {
    int[] innerArray = jagged[i];
    for (int a = 0; a < innerArray.Length; a++)
    {
    Console.Write(innerArray[a] + " ");
    }
    Console.WriteLine();
  }
 }
}

выход будет

1 2

0

3 4 5

зубчатые массивы используются для хранения данных в строках разной длины.

для получения дополнительной информации посетите этот пост в блоге MSDN.


Вы можете найти более подробную информацию здесь : http://msdn.microsoft.com/en-us/library/2s05feca.aspx

также :

зубчатый массив-это массив, элементами которого являются массивы. Элементы зубчатого массива могут иметь различные размеры и размеры. Зубчатый массив иногда называют "массивом массивов"."В следующих примерах показано, как объявить, инициализировать и получить доступ к неровным массивам.

ниже приведено объявление одномерного массив, содержащий три элемента, каждый из которых представляет собой одномерный массив целых чисел:

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

или

jaggedArray[0] = new int[] { 1, 3, 5, 7, 9 };
jaggedArray[1] = new int[] { 0, 2, 4, 6 };
jaggedArray[2] = new int[] { 11, 22 };

неровный массив-это тот, в котором вы объявляете количество строк во время объявления,но вы объявляете количество столбцов во время выполнения или также по выбору пользователя, просто его среднее значение, когда вы хотите различное количество столбцов в каждом неровном массиве подходит в этом случае

int[][] a = new int[6][];//its mean num of row is 6
        int choice;//thats i left on user choice that how many number of column in each row he wanna to declare

        for (int row = 0; row < a.Length; row++)
        {
           Console.WriteLine("pls enter number of colo in row {0}", row);
           choice = int.Parse(Console.ReadLine());
            a[row] = new int[choice];
            for (int col = 0; col < a[row].Length; col++)
            {
                a[row][col] = int.Parse(Console.ReadLine());
            }
        }

Jagged array-это массив с другими массивами, содержащимися внутри.

зубчатый массив-это массив, в котором фиксировано количество строк, но не фиксировано количество столбцов.

код для зубчатого массива в C# для приложения формы окна

int[][] a = new int[3][];

a[0]=new int[5];
a[1]=new int[3];
a[2]=new int[1];

int i;

for(i = 0; i < 5; i++)
{
    a[0][i] = i;
    ListBox1.Items.Add(a[0][i].ToString());
}

for(i = 0; i < 3; i++)
{
    a[0][i] = i;
    ListBox1.Items.Add(a[0][i].ToString());
}

for(i = 0; i < 1; i++)
{
    a[0][i] = i;
    ListBox1.Items.Add(a[0][i].ToString());
}

Как вы можете видеть в приведенной выше программе нет строк равно 3, а количество столбцов не фиксировано. Поэтому мы взяли три разных значения столбцов, т. е. 5, 3 и 1. The ListBox1 ключевое слово используется в этом коде для списка, который мы будем использовать в форме окна, чтобы увидеть результат нажатием кнопки, которая также будет использоваться в форме окна. Все программы, сделанные здесь, находятся на кнопке.


Jagged Array-многомерный массив с различным количеством строк.