Untitled
unknown
c_cpp
2 years ago
833 B
5
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...