44 votes

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

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

55voto

Anthony Pegram Points 58528

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 aucune garantie qu'ils le 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];
 

10voto

Slokun Points 2861

Un tableau dentelé est le même dans toutes les langues, mais c'est là que vous avez un tableau à 2 dimensions avec des longueurs de tableau différentes 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
 

6voto

Aayushi Jain Points 514

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 ce message sur le blog MSDN .

5voto

Tarik Points 16118

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

Aussi :

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

Ce qui suit est une déclaration d'un seul tableau multidimensionnel qui a trois éléments, dont chacun est d'une seule dimension tableau d'entiers:

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

0voto

Deepak Kumar Points 11

Jagged tableau est un tableau avec d'autres tableaux contenus dans.

Un tableau en escalier est un tableau dont le nombre de lignes est fixe, mais le nombre de colonne n'est pas fixe.

Code pour jagged tableau en C# pour la fenêtre formulaire de demande

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 voir dans le programme ci-dessus pas de lignes est fixé à 3, mais le nombre de colonnes n'est pas fixe. Nous avons donc pris trois différentes valeur de colonnes, c'est à dire 5, 3 et 1. L' ListBox1 mot-clé utilisé dans le présent code est de la zone de liste que nous allons utiliser dans la fenêtre de formulaire pour voir le résultat en cliquant sur le bouton qui sera également utilisé dans la fenêtre formulaire. Toute la programmation ici sur le bouton.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X