Rumah >pembangunan bahagian belakang >Tutorial Python >Program Python untuk mengisih tatasusunan 2D mengikut lajur
Apabila mengisytiharkan tatasusunan 2D atau tatasusunan 2D, ia dianggap sebagai matriks. Jadi, kita tahu bahawa matriks terdiri daripada baris dan lajur. Proses pengisihan unsur kepunyaan lajur tertentu matriks dalam tertib menaik atau menurun dipanggil menyusun tatasusunan 2D merentas lajur. Mari kita pertimbangkan algoritma dan senario input-output untuk memahami aplikasi tepat konsep ini.
Pertimbangkan tatasusunan 2D.
arr = [[ 7, 9, 5, 7 ], [9, 5, 9, 4], [2, 7, 8, 6], [ 8, 6, 6, 5]]
Perwakilan matriks tatasusunan dua dimensi di atas adalah seperti berikut -
7 9 5 7 9 5 9 4 2 7 8 6 8 6 6 5
Sekarang, mari kita mengisih matriks yang diberikan merentas lajur dalam tertib menurun.
Lajur pertama terdiri daripada elemen 7, 9, 2 dan 8. Susunan menurun bagi unsur 7, 9, 2, dan 8 ialah 9, 8, 7, dan 2.
Lajur kedua terdiri daripada elemen 9, 5, 7 dan 6. Susunan menurun bagi unsur 9, 5, 7 dan 6 ialah 9, 7, 6 dan 5.
Begitu juga, lajur ketiga dan keempat juga disusun.
Matriks yang diisih merentas lajur dalam tertib menurun ialah
9 9 5 7 8 7 9 6 7 6 8 5 2 5 6 4
Perwakilan tatasusunan bagi matriks yang diisih ialah
[[9, 9, 9, 7 ], [7, 7, 8, 6], [8, 6, 6, 5], [ 2, 5, 5, 4 ]]
Ini ialah tatasusunan yang diisih.
Dalam contoh ini, kita akan membincangkan cara mengisih tatasusunan 2D merentas lajur. Langkah-langkah yang mesti diikuti untuk membina program yang diperlukan adalah seperti berikut
Langkah 1 - Isytiharkan tatasusunan 2D
Langkah 2 - Ulangi semua elemen mengikut lajur untuk mengisih elemen dengan sewajarnya.
Langkah 3 - Bandingkan elemen lajur yang sama dan ikut syarat jika satu elemen kurang daripada yang lain.
Langkah 4 - Jika syarat tidak dipenuhi, tukar elemen.
Langkah 5 - Teruskan proses yang sama sehingga semua elemen dalam lajur ditutup dan akhirnya mencetak tatasusunan dalam bentuk disusun.
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)
Keluaran program di atas adalah seperti berikut -
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
Kita dapat melihat dengan jelas bahawa output sebenarnya sepadan dengan hasil yang diharapkan dalam contoh di atas. Begitu juga, menyusun tatasusunan dua dimensi merentas baris boleh dicapai dengan menukar beberapa pernyataan dalam atur cara di atas. Beginilah cara konsep menyusun tatasusunan 2D merentas lajur berfungsi.
Atas ialah kandungan terperinci Program Python untuk mengisih tatasusunan 2D mengikut lajur. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!