数组循环左移c++代码
时间: 2023-10-01 15:04:48 浏览: 200
2-LEDxunhuanzuoyi.rar_单片机开发_Visual_C++_
以下是使用C语言实现数组循环左移的代码:
```c
#include <stdio.h>
void rotateLeft(int arr[], int n, int k) {
k = k % n;
for(int i = 0; i < k; i++) {
int temp = arr[0];
for(int j = 0; j < n - 1; j++) {
arr[j] = arr[j + 1];
}
arr[n - 1] = temp;
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int k = 3;
printf("Original array: ");
for(int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
rotateLeft(arr, n, k);
printf("\nArray after %d rotations: ", k);
for(int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
在上面的代码中,我们首先定义了一个 `rotateLeft()` 函数,它接受三个参数:一个整数数组 `arr`、数组的大小 `n` 和要左移的次数 `k`。我们使用模运算符来确保 `k` 的值小于 `n`。
接下来,我们使用两个循环来实现数组的循环左移。外层循环用于执行 `k` 次循环左移操作,内层循环用于实现一次循环左移。在内层循环中,我们将数组中的每个元素向左移动一位,最后将第一个元素移动到数组的末尾。
在 `main()` 函数中,我们首先定义了一个整数数组 `arr` 和要左移的次数 `k`,然后调用 `rotateLeft()` 函数,并打印出移动前和移动后的数组。
阅读全文