Rotate an Array by K Positions in C, C++, Java & Python – Code with Explanation & Examples in Short and Simple

   

C Program

#include<stdio.h>

int main() {
    int a[100], n, k;
    scanf("%d%d", &n, &k);
    for(int i=0; i<n; i++) scanf("%d", &a[i]);
    k %= n;
    for(int i=0; i<n; i++) printf("%d ", a[(n-k+i)%n]);
}

C Output

Input:  
5 2  
1 2 3 4 5  

Output:  
4 5 1 2 3


C++ Program

#include<iostream>
using namespace std;

int main() {
    int a[100], n, k;
    cin >> n >> k;
    for(int i=0; i<n; i++) cin >> a[i];
    k %= n;
    for(int i=0; i<n; i++) cout << a[(n-k+i)%n] << " ";
}

C++ Output

Input:  
6 3  
10 20 30 40 50 60  

Output:  
40 50 60 10 20 30


JAVA Program

import java.util.*;

class Rotate {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt(), k = sc.nextInt();
        int[] a = new int[n];
        for(int i=0; i<n; i++) a[i] = sc.nextInt();
        k %= n;
        for(int i=0; i<n; i++)
            System.out.print(a[(n-k+i)%n] + " ");
    }
}

JAVA Output

Input:  
4 1  
7 8 9 10  

Output:  
10 7 8 9


Python Program

a = list(map(int, input().split()))
k = int(input()) % len(a)
print(*a[-k:] + a[:-k])

Python Output

Input:  
[1, 2, 3, 4, 5]  
2  

Output:  
4 5 1 2 3


In-Depth Learning – Whole Concept in Paragraphs
What Does "Rotate Array by K" Mean?
Rotating an array refers to the shifting of its elements in a circular manner. In rotating right by k, each element shifts k places to the right, and the last k elements are wrapped around to the beginning.

Example: rotating [1, 2, 3, 4, 5] by 2:

4 → 1st

5 → 2nd

1 → 3rd, and so on

The output is finally: [4, 5, 1, 2, 3].

How the Code Works
We first read input: array size n, number of positions k, and the array elements.

We do k %= n to make k within bounds even if it is more than n.

We then print the array using:

Index rotation formula: (n - k + i) % n → This provides the rotated position for each element.

In Python, this is made extremely easy using a[-k:] + a[:-k].

Example
Input:


Array: [10, 20, 30, 40, 50]  
Rotate by: 2  
Steps:

Last 2 elements [40, 50] move to the front

Rest [10, 20, 30] go to the end

Output:

[40, 50, 10, 20, 30]

Real-Life Analogy
Imagine seats in a circular table. If everyone shifts two places to the right, the ones at the end wrap around to the beginning. In the same way, in digital systems:

Rotating logs

Shifting memory buffers

Music playlists shuffling cyclically

They all employ array rotation logic internally.

Where and When Is It Used?
Array rotation is applicable in:

Data stream buffers

Memory ring buffers

Circular queues

Image processing (rotation in pixels)

Interview rounds for product firms like Amazon, Google, etc.

It's also basic in problems such as:

Rotate matrix

Sliding window operations

Shifting algorithms

Time and Space Complexity
Operation\tComplexity
Time\tO(n)
Space\tO(1) in C/Java (direct index logic), O(n) in Python slicing

For large arrays, index-wise logic is better to prevent additional memory.

Python-Specific Advantage
Python makes this easier with slicing:

python

a[-k:] + a[:-k]
This provides the rotated array in one line and is very readable to newcomers.

SEO-Optimized Natural Paragraph for Ranking
Need to rotate an array by k steps in C, C++, Java, or Python? Here is the most compact, efficient, and interview-ready code available to rotate an array to the right by some number of steps. This method is applied in circular data buffers, system log rotations, and scheduling algorithms in real life. The examples provided here are easy to understand for beginners and show how the problem can be solved using simple loops or Python's robust slicing. Learn rotation logic thoroughly with real-life analogies and time-effective solutions to crack coding interviews and real-life projects.