Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Susun semula tatasusunan supaya setiap elemen yang diindeks ganjil lebih besar daripada elemen sebelumnya

Susun semula tatasusunan supaya setiap elemen yang diindeks ganjil lebih besar daripada elemen sebelumnya

WBOY
WBOYke hadapan
2023-09-01 09:45:071137semak imbas

Susun semula tatasusunan supaya setiap elemen yang diindeks ganjil lebih besar daripada elemen sebelumnya

Kami mempunyai susunan jenis integer positif, diandaikan sebagai arr[], dengan sebarang saiz. Tugasnya adalah untuk menyusun semula tatasusunan supaya semua elemen pada kedudukan indeks ganjil mempunyai nilai yang lebih besar daripada elemen pada kedudukan indeks genap, dan mencetak hasilnya.

Mari kita lihat pelbagai situasi input dan output:

Input − int arr[] = {2, 1, 5, 4, 3, 7, 8}

Output − int arr[] = {2, 1, 5, 4, 3, 7, 8}

Output − Array sebelum mengisih: 1 5 4 3 7 8 Susun semula tatasusunan supaya setiap elemen terindeks ganjil lebih besar daripada elemen sebelumnya: 1 4 2 5 3 8 7

Penjelasan

- Kami diberi tatasusunan integer bersaiz 7. Sekarang jika elemen pada indeks genap lebih besar kita akan menukar elemen pada indeks genap dan elemen pada indeks ganjil
Arr[0] > arr[1] = call swap = {1, 2, 5, 4, 3, 7, 8}
Arr[2] > arr[3] = call swap = {1, 2, 4, 5, 3, 7, 8}
Arr[6] > arr[5] = call swap = {1, 2, 4, 5, 3, 8, 7}
Arr[2] > arr[1] = call swap = {1, 4, 2, 5, 3, 8, 7}

input− int arr[] = {3, 2, 6, 9}

output− Array sebelum mengisih: 3 2 6 9 Penyusunan semula tatasusunan supaya setiap elemen terindeks ganjil lebih besar daripada sebelumnya ialah: 2 3 6 9

Penjelasan
    − kita diberi tatasusunan integer bersaiz 4. Sekarang, kita akan menukar elemen pada indeks genap dengan elemen pada indeks ganjil jika elemen yang diindeks genap adalah lebih besar iaitu Arr[0] > arr[1] = swap panggilan = {2, 3, 6, 9}. syarat
  • Pendekatan yang digunakan dalam atur cara di bawah adalah seperti berikut

  • Masukkan tatasusunan elemen jenis integer dan kira saiz tatasusunan.

  • Cetak tatasusunan sebelum susunan dan panggil fungsi Susunan Semula(arr, saiz) . daripada ptr dan i = i + 1. Di dalam gelung, semak sama ada arr[i] lebih besar daripada arr[i+1] kemudian panggil swap(arr[i], arr[i+1]).

    • Semak JIKA saiz & 1 kemudian mulakan gelung FOR dari i ke ptr sehingga i lebih besar daripada 0 dan i = i - 2. Di dalam gelung, semak JIKA arr[i] lebih besar daripada arr[i - 1] kemudian panggil swap(arr[i] , arr[i-1])

    • Cetak tatasusunan selepas penyusunan semula nilai tatasusunan

Atas ialah kandungan terperinci Susun semula tatasusunan supaya setiap elemen yang diindeks ganjil lebih besar daripada elemen sebelumnya. 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