web-dev-qa-db-fra.com

Qu'est-ce qu'un tableau en dents de scie?

Qu'est-ce qu'un tableau dentelé (en c #)? Tous les exemples et quand faut-il l'utiliser ....

44
Chendur Pandian

Un tableau dentelé est un tableau de tableaux.

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

C'est une collection de cinq tableaux de chaînes différents, chacun pouvant avoir une longueur différente (ils peuvent également avoir la même longueur, mais le fait est qu'il n'y a pas de garantie qu'ils soient).

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

Cela diffère d'un tableau 2D où il est rectangulaire, ce qui signifie que chaque ligne a le même nombre de colonnes.

string[,] array = new string[3,5];
55
Anthony Pegram

Un tableau dentelé est le même dans n'importe quelle langue, mais c'est là que vous avez un tableau à 2 dimensions avec différentes longueurs de tableau dans le deuxième tableau et au-delà.

[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
10
Tarka

Bien que la meilleure réponse soit choisie par le propriétaire de la question, je souhaite néanmoins présenter le code suivant afin de rendre le tableau déchiqueté plus clair.

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();
  }
 }
}

La sortie sera 

1 2

0

3 4 5

Les tableaux en dents de scie sont utilisés pour stocker des données dans des lignes de longueur variable.

Pour plus d'informations, consultez cet article sur le blog MSDN .

6
Aayushi Jain

Vous pouvez trouver plus d'informations ici: http://msdn.Microsoft.com/en-us/library/2s05feca.aspx

Également :

Un tableau dentelé est un tableau dont les éléments sont des tableaux. Les éléments d'un tableau en escalier peuvent être de dimensions et de tailles différentes. Un tableau dentelé est parfois appelé "tableau de tableaux". Les exemples suivants montrent comment déclarer, initialiser et accéder à des tableaux en escalier.

Ce qui suit est une déclaration d'un tableau unidimensionnel comprenant trois éléments, chacun étant un tableau d'entiers unidimensionnel:

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

ou

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

Un tableau en dents de scie est un tableau dans lequel vous déclarez le nombre de lignes pendant la déclaration mais vous déclarez le nombre de colonnes pendant l'exécution ou également par choix de l'utilisateur. Sa moyenne, lorsque vous souhaitez un nombre différent de colonnes dans chaque tableau JAGGED, convient dans ce cas 

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());
            }
        }
2
Adiii

Jagged Array est un tableau contenant d’autres tableaux.

Un tableau en escalier est un tableau dans lequel le nombre de lignes est fixe mais le nombre de colonnes n'est pas fixe.

Code pour le tableau en escalier en C # pour l'application de formulaire Windows

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());
}

Comme vous pouvez le constater dans le programme ci-dessus, le nombre de lignes est fixé à 3, mais le nombre de colonnes n'est pas fixe. Nous avons donc pris trois valeurs différentes de colonnes, à savoir 5, 3 et 1. Le mot clé ListBox1 utilisé dans ce code correspond à la zone de liste que nous utiliserons dans le formulaire de fenêtre pour afficher le résultat à l'aide du bouton de la souris qui sera également utilisé dans le formulaire de la fenêtre. Toute la programmation faite ici est sur le bouton.

0
Deepak Kumar