Lors de la déclaration d'un tableau 2D ou d'un tableau 2D, il est traité comme une matrice. Nous savons donc qu’une matrice est composée de lignes et de colonnes. Le processus de tri des éléments appartenant à une colonne spécifique d'une matrice par ordre croissant ou décroissant est appelé tri d'un tableau 2D sur plusieurs colonnes. Considérons un algorithme et un scénario d'entrée-sortie pour comprendre l'application exacte de ce concept.
Considérez un tableau 2D.
arr = [[ 7, 9, 5, 7 ], [9, 5, 9, 4], [2, 7, 8, 6], [ 8, 6, 6, 5]]
La représentation matricielle du tableau bidimensionnel ci-dessus est la suivante -
7 9 5 7 9 5 9 4 2 7 8 6 8 6 6 5
Maintenant, trions la matrice donnée dans les colonnes par ordre décroissant.
La première colonne est composée des éléments 7, 9, 2 et 8. L'ordre décroissant des éléments 7, 9, 2 et 8 est 9, 8, 7 et 2.
La deuxième colonne est composée des éléments 9, 5, 7 et 6. L'ordre décroissant des éléments 9, 5, 7 et 6 est 9, 7, 6 et 5.
< /里>De même, les troisième et quatrième colonnes sont également triées.
Une matrice triée dans les colonnes par ordre décroissant est
9 9 5 7 8 7 9 6 7 6 8 5 2 5 6 4
La représentation matricielle de la matrice triée est
[[9, 9, 9, 7 ], [7, 7, 8, 6], [8, 6, 6, 5], [ 2, 5, 5, 4 ]]
Voici le tableau trié.
Dans cet exemple, nous verrons comment trier un tableau 2D sur plusieurs colonnes. Les étapes à suivre pour construire le programme requis sont les suivantes
Étape 1 - Déclarer un tableau 2D
Étape 2 - Parcourez tous les éléments par colonne afin de trier les éléments en conséquence.
Étape 3 - Comparez les éléments de la même colonne et suivez la condition si un élément est inférieur à l'autre.
Étape 4 - Si la condition n'est pas remplie, échangez les éléments.
Étape 5 - Continuez le même processus jusqu'à ce que tous les éléments de la colonne soient couverts et enfin imprimez le tableau sous forme triée.
def sort_the_array_column_wise(arr): for j in range (size): for i in range(size - 1): if arr[i][j] < arr[i + 1][j]: temp = arr[i][j] arr[i][j] = arr[i + 1][j] arr[i + 1][j] = temp for i in range(size): for j in range(size): print(arr[i][j], end=" ") print() arr = [[7, 9, 5, 7 ], [9, 5, 9, 4], [2, 7, 8, 6], [ 8, 6, 6, 5 ]] size = len(arr) print("The array before performing sorting operation is: ") for i in range(size): for j in range(size): print(arr[i][j], end=" ") print() print("The array after performing sorting operation is: ") sort_the_array_column_wise(arr)
Le résultat du programme ci-dessus est le suivant -
The array before performing sorting operation is: 7 9 5 7 9 5 9 4 2 7 8 6 8 6 6 5 The array after performing sorting operation is: 9 9 9 7 7 7 8 6 8 6 6 5 2 5 5 4
Nous pouvons clairement voir que le résultat correspond réellement au résultat attendu dans l'exemple ci-dessus. De même, le tri d'un tableau bidimensionnel sur plusieurs lignes peut être effectué en modifiant quelques instructions dans le programme ci-dessus. C'est ainsi que fonctionne le concept de tri d'un tableau 2D sur plusieurs colonnes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!