QNA > C > Cosa Significa 'Ruotare Un Array' In Programmazione?

Cosa significa 'ruotare un array' in programmazione?

Rotare un array significa semplicemente spostare gli elementi dell'array a sinistra o a destra di n posizioni senza esaurire il "limite dell'array".

Immaginate di avere cinque scatole disposte come array lineare. In quelle scatole avete 5 palle di colore diverso per esempio. 1. rosso, 2. nero, 3. blu, 4. giallo, 5. verde. Devi ruotare la matrice di scatole a sinistra di 1 posizione.

Ma cos'è la rotazione? Una rotazione è un movimento circolare di un oggetto.

Ora rotazione a sinistra di 1 posizione significa spostare una palla in 1 casella a sinistra della sua casella originale.

Quindi, quando scegliamo la palla rossa non c'è nessuna casella a sinistra, ma immagina se colleghi l'inizio e la fine della matrice delle caselle l'ultima casella sarà a sinistra della prima casella. Quindi, spostamento rosso->5, nero->1, blu->2, giallo->3, verde->4.

Ora la scatola dell'array ruotata e la palla sarà come 1. nero, 2. blu, 3. giallo, 4. verde, 5. rosso.

Similmente, può essere fatto con rotazione destra.

Example :- Given Array is A[5]={1,2,3,4,5}, we have to left rotate it by 1 position then right rotate by 2 position.

After left rotation by 1 position A[5]={ 2,3,4,5,1}

After right rotation by 2 position A[5]= {5,1,2,3,4}.

There are various ways of doing so.

// Left Rotate element one by one. Where d is position by which element in array will be rotated and n is the size of array.

void leftRotate(int arr[], int d, int n)

{

int i;

for (i = 0; i < d; i++)

leftRotatebyOne(arr, n);

}

// Code for rotation

void leftRotatebyOne(int arr[], int n)

{

int i, temp;

temp = arr[0];

for (i = 0; i < n - 1; i++)

arr[i] = arr[i + 1];

arr[i] = temp;

}

There are many efficient ways to rotate an array.

Di Biagio

Come trovare il numero mancante in un dato array di numeri interi da 1 a 100 :: Come possiamo convertire un array 1-dimensionale in un array 2-dimensionale in Python?
Link utili