Maison > développement back-end > Tutoriel Python > Programme Python pour trier un tableau 2D par colonnes

Programme Python pour trier un tableau 2D par colonnes

王林
Libérer: 2023-09-15 22:57:03
avant
777 Les gens l'ont consulté

Programme Python pour trier un tableau 2D par colonnes

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.

Scénarios d'entrée et de sortie

Considérez un tableau 2D.

arr =  [[ 7, 9, 5, 7 ], [9, 5, 9, 4], [2, 7, 8, 6], [ 8, 6, 6, 5]]
Copier après la connexion

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
Copier après la connexion

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 
Copier après la connexion
  • 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 ]]
    
    Copier après la connexion
  • Voici le tableau trié.

Exemple

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)
Copier après la connexion

Sortie

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
Copier après la connexion

Conclusion

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!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal