input− int arr[] = {3, 4, 1, 2, 0}
output− Tableau avant tri : 3 4 1 2 0 Réorganisez le tableau pour que arr[j] devienne i. Si arr[i] vaut j, c'est : 4 2 3 0 1
Explication− Nous obtenons un tableau entier de taille 6 et les valeurs du tableau. sont inférieurs à 6 de tous les éléments. Maintenant, nous allons réorganiser le tableau, c'est-à-dire que arr[1] vaut 4, arr[4] = 1 ; arr[2] vaut 1, arr[1] = 2 ; 2. arr[2] = 3 ; arr[4] vaut 0, arr[0]=4. Par conséquent, le tableau final est 4 2 3 0 1.
Entrée t− int arr[] = {2, 0, 1, 3}
Sortie− Tableau avant tri : 2 0 1 3 Réorganisez le tableau pour que arr[j] devienne i, si arr[i] est j, alors : 1 2 0 3
Explication− Nous obtenons un tableau entier de taille 6 et les valeurs de tous les éléments du tableau Moins de 6. Maintenant, nous allons réorganiser le tableau, c'est-à-dire arr[0] vaut 2, arr[2] = 0 ; arr[1] vaut 0, arr[0] = 1 ; 1, arr[1] = 2 ; arr[3] est 3, arr[3] = 3. Par conséquent, le tableau final est 1 2 0 3.
Saisissez un tableau d'éléments de type entier et calculez la taille du tableau.
Imprimez le tableau avant de l'arranger et appelez la fonction Rearrangement(arr, size)
Dans la fonction Rearrangement(arr, size)
Créez un tableau ptr[] de valeurs de type entier avec un la taille du tableau arr[] est la même.
Commencez à boucler FOR de i à 0 jusqu'à ce que i soit inférieur à la taille. À l’intérieur de la boucle, définissez ptr[arr[i]] sur i.
Commencez à boucler FOR de i à 0 jusqu'à ce que i soit inférieur à la taille. À l’intérieur de la boucle, définissez arr[i] sur ptr[i].
Imprimez le tableau réorganisé.
#include <bits/stdc++.h> using namespace std; void Rearrangement(int arr[], int size){ int ptr[size]; for(int i = 0; i < size; i++){ ptr[arr[i]] = i; } for(int i = 0; i < size; i++){ arr[i] = ptr[i]; } } int main(){ //input an array int arr[] = {3, 4, 1, 2, 0}; 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] << " "; } //calling the function to rearrange the array Rearrangement(arr, size); //print the array after rearranging the values cout<<"\nRearrangement of an array such that ‘arr[j]’ becomes ‘i’ if ‘arr[i]’ is ‘j’ is: "; for(int i = 0; i < size; i++){ cout<< arr[i] << " "; } return 0; }
Si nous exécutons le code ci-dessus, il générera la sortie suivante
Array before Arrangement: 3 4 1 2 0 Rearrangement of an array such that ‘arr[j]’ becomes ‘i’ if ‘arr[i]’ is ‘j’ is: 4 2 3 0 1
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!