Untitled
unknown
c_cpp
2 years ago
833 B
4
Indexable
#include <stdio.h> void reverse(int arr[], int start, int end) { while (start < end) { int temp = arr[start]; arr[start] = arr[end]; arr[end] = temp; start++; end--; } } void rotate_array(int arr[], int size, int k) { k = k % size; // Adjust k if it's larger than the array size // Reverse the entire array reverse(arr, 0, size-1); // Reverse the first k elements reverse(arr, 0, k-1); // Reverse the remaining elements reverse(arr, k, size-1); } int main() { int array[] = {1, 2, 3, 4, 5}; int size = sizeof(array) / sizeof(array[0]); int k = 2; rotate_array(array, size, k); for (int i = 0; i < size; i++) { printf("%d ", array[i]); } return 0; }
Editor is loading...