Rumah > Artikel > pembangunan bahagian belakang > Susun semula tatasusunan supaya elemen dalam kedudukan genap lebih besar daripada elemen dalam kedudukan ganjil (C++)
Kami mendapat tatasusunan jenis integer yang mengandungi nombor positif dan negatif, katakan, arr[] sebarang saiz tertentu. Tugasnya adalah untuk menyusun semula tatasusunan sedemikian rupa sehingga semua elemen pada kedudukan genap atau indeks harus lebih besar daripada elemen pada kedudukan atau indeks ganjil, dan Cetak keputusan.
input− int arr[] = {2, 1, 4, 3 , 6, 5, 8, 7}
rayoutput
daripada: 2 1 4 3 6 5 8 7 Susun semula tatasusunan supaya kedudukan genap lebih besar daripada kedudukan ganjil: 1 2 3 4 5 6 7 8
Penjelasan− Kami mendapat tatasusunan integer bersaiz 8 yang mengandungi faktor positif dan negatif. Sekarang, kami menyusun semula tatasusunan supaya semua elemen dalam kedudukan genap adalah lebih besar daripada elemen dalam kedudukan ganjil Susunan yang terhasil ialah 1 2 3 4 5 6 7 8.
Input− int arr[] = {-3, 2, -4, -1}
Output− Tatasusunan sebelum mengisih: - 3 2 -4 -1 Susun semula tatasusunan supaya kedudukan genap lebih besar daripada kedudukan ganjil: -4 -3 -1 2
Penjelasan - Kami mendapat tatasusunan integer bersaiz 8 yang mengandungi unsur positif dan negatif. Sekarang, kita menyusun semula tatasusunan supaya semua elemen pada kedudukan genap adalah lebih besar daripada elemen pada kedudukan ganjil Susunan yang terhasil selepas melakukan ini ialah -4 -3 -1 2.#include <bits/stdc++.h> using namespace std; void Rearrangement(int* arr, int size){ int ptr[size]; int first = 0; int last = size - 1; for (int i = 0; i < size; i++){ if((i + 1) % 2 == 0){ ptr[i] = arr[last--]; } else{ ptr[i] = arr[first++]; } } } int main(){ //input an array int arr[] = {2, 1, 4, 3, 6, 5, 8, 7}; int size = sizeof(arr) / sizeof(arr[0]); //print the original Array cout<<"Array before Arrangement: "; for (int i = 0; i < size; i++){ cout << arr[i] << " "; } //sort an Array sort(arr, arr + size); //calling the function to rearrange the array Rearrangement(arr, size); //print the array after rearranging the values cout<<"\nRearrangement of an array such that even positioned are greater than odd is: "; for(int i = 0; i < size; i++){ cout<< arr[i] << " "; } return 0; }
Output
Jika kita menjalankan kod di atas, ia akan menghasilkan output berikut🎜Array before Arrangement: 2 1 4 3 6 5 8 7 Rearrangement of an array such that even positioned are greater than odd is: 1 2 3 4 5 6 7 8🎜
Atas ialah kandungan terperinci Susun semula tatasusunan supaya elemen dalam kedudukan genap lebih besar daripada elemen dalam kedudukan ganjil (C++). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!