Bei der Deklaration eines 2D-Arrays oder 2D-Arrays wird es als Matrix behandelt. Wir wissen also, dass eine Matrix aus Zeilen und Spalten besteht. Das Sortieren der zu einer bestimmten Spalte einer Matrix gehörenden Elemente in aufsteigender oder absteigender Reihenfolge wird als spaltenübergreifendes Sortieren eines 2D-Arrays bezeichnet. Betrachten wir einen Algorithmus und ein Input-Output-Szenario, um die genaue Anwendung dieses Konzepts zu verstehen.
Stellen Sie sich ein 2D-Array vor.
arr = [[ 7, 9, 5, 7 ], [9, 5, 9, 4], [2, 7, 8, 6], [ 8, 6, 6, 5]]
Die Matrixdarstellung des obigen zweidimensionalen Arrays lautet wie folgt -
7 9 5 7 9 5 9 4 2 7 8 6 8 6 6 5
Lassen Sie uns nun die gegebene Matrix in absteigender Reihenfolge über die Spalten sortieren.
Die erste Spalte besteht aus den Elementen 7, 9, 2 und 8. Die absteigende Reihenfolge der Elemente 7, 9, 2 und 8 ist 9, 8, 7 und 2.
Die zweite Spalte besteht aus den Elementen 9, 5, 7 und 6. Die absteigende Reihenfolge der Elemente 9, 5, 7 und 6 ist 9, 7, 6 und 5.
< /里>Ebenso sind auch die dritte und vierte Spalte sortiert.
Eine spaltenübergreifend in absteigender Reihenfolge sortierte Matrix ist
9 9 5 7 8 7 9 6 7 6 8 5 2 5 6 4
Die Array-Darstellung der sortierten Matrix ist
[[9, 9, 9, 7 ], [7, 7, 8, 6], [8, 6, 6, 5], [ 2, 5, 5, 4 ]]
Dies ist das sortierte Array.
In diesem Beispiel besprechen wir, wie man ein 2D-Array über Spalten hinweg sortiert. Die Schritte, die zum Erstellen des erforderlichen Programms befolgt werden müssen, sind wie folgt
Schritt 1 – Deklarieren Sie ein 2D-Array
Schritt 2 – Durchlaufen Sie alle Elemente spaltenweise, um die Elemente entsprechend zu sortieren.
Schritt 3 – Vergleichen Sie Elemente derselben Spalte und befolgen Sie die Bedingung, wenn ein Element kleiner als das andere ist.
Schritt 4 – Wenn die Bedingung nicht erfüllt ist, tauschen Sie die Elemente aus.
Schritt 5 - Fahren Sie mit dem gleichen Vorgang fort, bis alle Elemente in der Spalte abgedeckt sind, und drucken Sie schließlich das Array in sortierter Form aus.
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)
Die Ausgabe des obigen Programms ist wie folgt -
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
Wir können deutlich erkennen, dass die Ausgabe tatsächlich dem erwarteten Ergebnis im obigen Beispiel entspricht. Ebenso kann das Sortieren eines zweidimensionalen Arrays über Zeilen hinweg erreicht werden, indem einige Anweisungen im obigen Programm geändert werden. So funktioniert das Konzept, ein 2D-Array über Spalten hinweg zu sortieren.
Das obige ist der detaillierte Inhalt vonPython-Programm zum Sortieren von 2D-Arrays nach Spalten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!