Rumah > Artikel > pembangunan bahagian belakang > Susun semula tatasusunan supaya 'arr' menjadi 'i' jika 'arr' ialah 'j' dalam C++
input− int arr[] = {3, 4, 1, 2, 0}
output− 23 0 4 1: Array sebelum mengisih Susun semula tatasusunan supaya arr[j] menjadi i Jika arr[i] ialah j, ia ialah: 4 2 3 0 1
Penjelasan− Kami mendapat tatasusunan integer bersaiz 6 dan nilai-nilai dalam tatasusunan adalah kurang daripada 6 daripada semua elemen. Sekarang, kita akan menyusun semula tatasusunan, iaitu arr[1] ialah 4, arr[4] = 1; 2. arr[2] = 3; arr[4] ialah 0, arr[0]=4. Oleh itu, tatasusunan akhir ialah 4 2 3 0 1.
Input t− int arr[] = {2, 0, 1, 3}
Output− Tatasusunan sebelum mengisih: 2 0 1 3 Susun semula tatasusunan supaya arr[j] menjadi i, jika arr[i] ialah j, maka: 1 2 0 3
Penjelasan− Kami mendapat tatasusunan integer bersaiz 6 dan nilai semua elemen dalam tatasusunan Kurang daripada 6. Sekarang, kita akan menyusun semula tatasusunan, iaitu arr[0] ialah 2, arr[2] = 0; 1, arr[1] = 2; arr[3] ialah 3, arr[3] = 3. Oleh itu, tatasusunan akhir ialah 1 2 0 3.
Masukkan tatasusunan elemen jenis integer dan kira saiz tatasusunan. . saiz Tatasusunan arr[] adalah sama.
Mulakan gelung FOR dari i ke 0 sehingga i kurang daripada saiz. Di dalam gelung, tetapkan ptr[arr[i]] kepada i.
Mulakan gelung FOR dari i ke 0 sehingga i kurang daripada saiz. Di dalam gelung, tetapkan arr[i] kepada ptr[i].
#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; }
Output
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
Atas ialah kandungan terperinci Susun semula tatasusunan supaya 'arr' menjadi 'i' jika 'arr' ialah 'j' dalam C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!