Rumah > Artikel > pembangunan bahagian belakang > 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.
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 ganjilArr[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
PenjelasanPendekatan 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])
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!