Rumah >pembangunan bahagian belakang >Tutorial Python >Program Python untuk mengisih tatasusunan 2D mengikut lajur

Program Python untuk mengisih tatasusunan 2D mengikut lajur

王林
王林ke hadapan
2023-09-15 22:57:03754semak imbas

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.

Senario input dan output

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.

Contoh

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)

Output

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

Kesimpulan

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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam