Given an array of N elements and an integer D. Your task is to rotate the array D times in a circular manner from the right to left direction. Consider the examples for better understanding:-

Example 1: gfg cyclic array rotation

# include <iostream> 
using namespace std; 

void rotate(int arr[], int n) 
{ 
	int last = arr[n - 1], i; 
	for (i = n - 1; i > 0; i--) 
	arr[i] = arr[i - 1]; 
	arr[0] = last; 
} 


int main() 
{ 
	int arr[100], i; 
	int n, turns;

	cin >> n;

	for(i=0;i<n;i++){
		scanf("%d", &arr[i]);
	}
    
	cin >> turns;

	while(turns>=1){
		rotate(arr,n);
		turns--;
	}

	for(i=0;i<n;i++){
		cout << arr[i] << " ";
	}

	return 0; 
}

Example 2: rorate array

function rotateArray(A, K) {
    if (!A.length) return A;
    let index = -1;
    while (++index < K) {
        A.unshift(A.pop());
    }
    return A;
}

[
    rotateArray([3, 8, 9, 7, 6], 3),
    rotateArray([0, 0, 0], 1),
    rotateArray([1, 2, 3, 4], 4),
    rotateArray([], 4),
].join(' | ');