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

Program Python untuk mengisih tatasusunan 2D mengikut lajur

王林
Lepaskan: 2023-09-15 22:57:03
ke hadapan
763 orang telah melayarinya

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]]
Salin selepas log masuk

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
Salin selepas log masuk

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 
Salin selepas log masuk
  • Perwakilan tatasusunan bagi matriks yang diisih ialah

  • [[9, 9, 9, 7 ], [7, 7, 8, 6], [8, 6, 6, 5], [ 2, 5, 5, 4 ]]
    
    Salin selepas log masuk
  • 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)
Salin selepas log masuk

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
Salin selepas log masuk

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!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan