📅  最后修改于: 2023-12-03 14:59:37.569000             🧑  作者: Mango
在编程过程中,有时需要旋转数组。旋转数组的意思是把数组中的元素向左或向右移动若干个位置,超出数组长度的元素会回到数组的开头,或者最后一个元素会被移动到数组的开头。本文将介绍如何用C ++编写程序来将数组循环旋转一。
下面的程序将演示如何将数组循环旋转一。在此示例中,我们将使用两个指针和一个循环语句。
#include<iostream>
using namespace std;
void rotateOne(int arr[], int n) {
int temp1 = arr[0];
int temp2;
for (int i = 0; i < n; i++) {
if (i == n - 1)
temp2 = arr[0];
else
temp2 = arr[i + 1];
arr[i] = temp2;
temp2 = temp1;
}
arr[n - 1] = temp1;
}
int main() {
int arr[] = { 1,2,3,4,5 };
int n = sizeof(arr) / sizeof(arr[0]);
cout << "Original array: ";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
rotateOne(arr, n);
cout << "Array after rotating one: ";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
上面的程序中,函数“rotateOne”用于实现对数组的旋转。该函数接受两个参数:“arr”是要旋转的数组,“n”是数组中元素的数量。程序首先将第一个元素保存在“temp1”变量中,然后使用循环将数组中的每个元素依次向左移动一个位置。数组中最后一个元素被替换为保存在“temp1”中的第一个元素。
在主函数中,我们首先定义一个数组“arr”,并使用“sizeof”函数获取数组中元素的数量。“rotateOne”函数将被调用来旋转数组,并使用循环在控制台中打印原始数组和旋转后的数组。
本文介绍了如何使用C ++编写程序来将数组循环旋转一。这种技术在编程中非常有用,并且可以通过将代码修改并添加一些额外的逻辑来对数组进行任意类型的旋转,甚至旋转多个位置。我希望这个例子能够帮助其他程序员学习和理解如何实现对数组的旋转操作。