Heim > Artikel > Backend-Entwicklung > Ordnen Sie ein Array neu an, sodass Elemente an geraden Positionen größer sind als Elemente an ungeraden Positionen (C++)
Wir erhalten ein Array vom Typ Ganzzahl, das positive und negative Zahlen enthält, beispielsweise arr[] beliebiger Größe. Die Aufgabe besteht darin, das Array so umzuordnen, dass alle Elemente an geraden Positionen oder Indizes größer sein sollten als Elemente an ungeraden Positionen oder Indizes, und Drucken Sie die Ergebnisse aus.
Eingabe− int arr[] = {2, 1, 4, 3 , 6, 5, 8, 7}
Ausgabe− vor dem Sortieren des Arrays von: 2 1 4 3 6 5 8 7 Ordnen Sie das Array neu an, sodass gerade Positionen größer als ungerade Positionen sind: 1 2 3 4 5 6 7 8
Erklärung− Wir erhalten ein ganzzahliges Array der Größe 8, das positive und negative Faktoren enthält. Jetzt ordnen wir das Array so um, dass alle Elemente an geraden Positionen größer sind als Elemente an ungeraden Positionen. Das resultierende Array ist 1 2 3 4 5 6 7 8.
Input− int arr[] = {-3, 2, -4, -1}
Output− Array vor dem Sortieren: - 3 2 -4 -1 Ordnen Sie ein Array neu an, sodass gerade Positionen größer als ungerade sind: -4 -3 -1 2
Erklärung – Wir erhalten ein ganzzahliges Array der Größe 8, das positive und negative Elemente enthält. Jetzt ordnen wir das Array so um, dass alle Elemente an geraden Positionen größer sind als Elemente an ungeraden Positionen. Das resultierende Array ist danach -4 -3 -1 2.
Das folgende Programm verwendet die folgende Methode:Geben Sie ein Array ganzzahliger Elemente ein und berechnen Sie die Größe des Arrays.
li>Sortieren Sie ein Array mit der Sortiermethode von C++ STL, indem Sie das Array und die Größe des Arrays an die Sortierfunktion übergeben.
? Die Größe ist die gleiche wie das Array arr[size]#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; }Ausgabe
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
Das obige ist der detaillierte Inhalt vonOrdnen Sie ein Array neu an, sodass Elemente an geraden Positionen größer sind als Elemente an ungeraden Positionen (C++). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!