编写一个C程序,将一个数组向左旋转n个位置。如何在C编程中将数组左旋转n次。在C程序中实现将数组左旋转n个位置的逻辑。
Input: arr[]=1 2 3 4 5 6 7 8 9 10
N=3
Output: 4 5 6 7 8 9 10 1 2 3
登录后复制
Explanation
-
读取数组中的元素,称为arr。
-
将要旋转的次数读入某个变量N。
-
将给定的数组左旋转1次,重复N次。实际上,左旋转是将数组元素向左移动一个位置,并将第一个元素复制到最后一个位置。
Example
#include
using namespace std;
int main() {
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int i, N, len, j;
N=3;
len=10;
int temp=0;
for (i = 0; i < N; i++) {
int x = arr[0];
for (j = 0; j < len; j++) {
temp=arr[j];
arr[j] = arr[j + 1];
arr[j+1]=temp;
}
arr[len - 1] = x;
}
for (i = 0; i < len; i++) {
cout