Tableaux irréguliers
Fait partie de la section Logique & Flux du Journey C# de Coddy — leçon 5 sur 66.
Les tableaux dentelés en C# sont des tableaux de tableaux, où chaque tableau interne peut avoir une longueur différente.
Créez un tableau dédenté avec 3 lignes :
int[][] jaggedArray = new int[3][];Initialisez chaque ligne avec des longueurs différentes :
jaggedArray[0] = new int[4]; // La première ligne a 4 éléments
jaggedArray[1] = new int[2]; // La deuxième ligne a 2 éléments
jaggedArray[2] = new int[5]; // La troisième ligne a 5 élémentsAssigner des valeurs aux éléments :
jaggedArray[0][0] = 10;
jaggedArray[1][1] = 20;
jaggedArray[2][3] = 30;Initialisez un tableau dédenté avec des valeurs :
int[][] numbers = new int[][]
{
new int[] {1, 2, 3, 4},
new int[] {5, 6},
new int[] {7, 8, 9, 10, 11}
};Obtenir le nombre de lignes :
int rows = jaggedArray.Length; // Retourne 3Obtenez la longueur d'une ligne spécifique :
int elementsInRow1 = jaggedArray[1].Length; // Retourne 2Défi
MoyenCréez une méthode appelée createTriangle qui :
- Prend un entier positif
sizecomme paramètre - Retourne un tableau décalé (jagged array) représentant un motif en triangle
- Chaque ligne doit avoir un élément de plus que la ligne précédente
- Chaque élément doit être égal à la somme de son index de ligne et de son index de colonne
Par exemple, avec size = 4, le tableau décalé devrait être :
[0]
[1, 2]
[2, 3, 4]
[3, 4, 5, 6]Aide-mémoire
Les tableaux dentelés (jagged arrays) sont des tableaux de tableaux où chaque tableau interne peut avoir des longueurs différentes.
Créer un tableau dentelé :
int[][] jaggedArray = new int[3][];Initialiser les lignes avec des longueurs différentes :
jaggedArray[0] = new int[4]; // La première ligne a 4 éléments
jaggedArray[1] = new int[2]; // La deuxième ligne a 2 éléments
jaggedArray[2] = new int[5]; // La troisième ligne a 5 élémentsAssigner des valeurs aux éléments :
jaggedArray[0][0] = 10;
jaggedArray[1][1] = 20;
jaggedArray[2][3] = 30;Initialiser directement avec des valeurs :
int[][] numbers = new int[][]
{
new int[] {1, 2, 3, 4},
new int[] {5, 6},
new int[] {7, 8, 9, 10, 11}
};Obtenir les dimensions du tableau :
int rows = jaggedArray.Length; // Nombre de lignes
int elementsInRow1 = jaggedArray[1].Length; // Longueur d'une ligne spécifiqueEssayez vous-même
public class CreateTriangle
{
// Implémenter la méthode CreateTriangle
public static int[][] createTriangle(int size)
{
// Écrivez votre code ici
}
}Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Logique & Flux
1Tableaux multidimensionnels
Bases des tableaux 2DDéclaration et initialisation en 2DAccès aux éléments d'un tableau 2DBoucles imbriquées et tableaux 2DTableaux irréguliersOpérations matricielles courantesRécapitulatif - Multidimensionnel4Techniques de contrôle de flux
Retours anticipésClauses de gardeInstructions de saut (goto)Break et ContinueAplatir les conditionnelles imbriquées2Prise de décision avancée
Conditions multiplesLogique booléenne complexeComparaison If vs SwitchInstructions Switch imbriquéesRécapitulatif - Décisions avancées5Gestion des exceptions
Bases du Try-CatchTypes d'exceptionsBlocs Catch multiplesManipulation de fichiersLe bloc FinallyUsing vs Try-FinallyExceptions personnaliséesRécapitulatif - Gestion des erreurs3Améliorations des boucles
Performance des bouclesItération de structures complexesChaque type de boucleRefactorisation des bouclesRécapitulatif - Boucles optimisées6Gestion des valeurs nulles
Les bases des références nullesTypes valeur nullablesPatterns de vérification de nullitéProgrammation défensiveRécapitulatif - Null Safety