Qu'est ce qu'un tableau en escalier?

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

44
demandé sur Esteban 2010-04-05 07:16:18

7 réponses

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 pourrait avoir une longueur différente (ils pourraient aussi avoir la même longueur, mais le fait est qu'il n'y a pas de Garantie qu'ils le sont).

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

Ceci est différent 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];
54
répondu Anthony Pegram 2013-05-27 19:59:22

Un tableau déchiqueté est le même dans n'importe quelle langue, mais c'est là que vous avez un tableau 2+ dimensionnel 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
10
répondu Tarka 2010-04-05 03:20:19

Bien que la meilleure réponse soit choisie par le propriétaire de la question, je veux toujours présenter le code suivant pour 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 dentelés sont utilisés pour stocker des données dans des lignes de longueur variable.

Pour plus d'informations, consultez ce post sur le blog MSDN.

6
répondu Aayushi Jain 2013-05-01 16:54:18

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

Aussi :

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

Ce qui suit est une déclaration d'un tableau unidimensionnel qui a trois éléments, dont chacun est un tableau unidimensionnel 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 };
5
répondu Tarik 2010-04-05 03:21:19

Un tableau dentelé est celui 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 aussi par choix de l'utilisateur, simplement sa moyenne quand vous voulez un nombre différent de colonnes dans chaque tableau dentelé est approprié 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
répondu Adiii 2015-01-18 17:22:18

Jagged array est un tableau contenant d'autres tableaux.

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

Code pour le tableau déchiqueté en C# pour l'application de formulaire de fenêtre

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, aucune ligne n'est fixée à 3, mais le nombre de colonnes n'est pas fixé. Nous avons donc pris trois valeurs différentes de colonnes, c'est-à-dire 5, 3 et 1. Le mot-clé ListBox1 utilisé dans ce code est pour listbox que nous utiliserons dans le formulaire fenêtre pour voir le résultat par le clic de bouton qui sera également utilisé dans le formulaire fenêtre. Toute la programmation faite ici est sur le bouton.

0
répondu Deepak Kumar 2014-07-04 19:39:01

Le tableau déchiqueté est un tableau multidimensionnel avec un nombre différent de lignes.

-1
répondu PriyankaS 2017-12-29 09:54:46