C++程序 打印数组在进行K次右旋转后的结果
什么是数组?
数组是一种存储数据的结构,数据按一定的顺序排列。数组中的每个数据元素可以通过将一个索引值作为偏移量来访问。
例如,下面是一个包含5个整数的数组的声明:
int nums[5] = {1, 2, 3, 4, 5};
在上面的声明中,我们定义了一个包含5个整数的数组,每个元素的初始值为1、2、3、4和5。
数组的旋转
数组旋转是指将数组中的元素按照一定的规律进行移动。
下面是一个数组旋转的示例:
int nums[5] = {1, 2, 3, 4, 5};
int temp = nums[4];
for(int i = 4; i > 0; i--) {
nums[i] = nums[i-1];
}
nums[0] = temp;
在上面的示例中,我们将数组nums中的每个元素向右移动一位,其中最后一个元素的值放到了第一个元素的位置。这个操作称为一次右旋转。
我们可以通过多次执行这个操作来进行多次右旋转,如下所示:
int nums[5] = {1, 2, 3, 4, 5};
for(int k = 0; k < 3; k++) {
int temp = nums[4];
for(int i = 4; i > 0; i--) {
nums[i] = nums[i-1];
}
nums[0] = temp;
}
for(int i = 0; i < 5; i++) {
cout << nums[i] << " ";
}
上面的程序执行了3次右旋转操作,最终输出了旋转后的数组。
完整代码
#include<iostream>
using namespace std;
int main() {
int nums[5] = {1, 2, 3, 4, 5};
int k = 3;
for(int i = 0; i < k; i++) {
int temp = nums[4];
for(int j = 4; j > 0; j--) {
nums[j] = nums[j-1];
}
nums[0] = temp;
}
for(int i = 0; i < 5; i++) {
cout << nums[i] << " ";
}
return 0;
}
结论
通过上面的示例程序,我们可以看到如何对一个数组进行K次右旋转,并输出最终结果。需要注意的是,在程序中K的值可以根据需要进行修改。