20250228-Rain
1. 一维数组
/*
1. 数字环
有一个长度为n的数字环, 将每个数字往后移动m位, 使其成为一个新的数字环
输入:
第一行: 整数n 表示有n个数字
第二行: n个整数Ni, 表示数字环的每个元素
第三行: 整数m 表示每个元素需要往后移动m位
输出: 移动后的新数字环
(1<=m<n<100, MIN_INT<Ni<MAX_INT)
*/
#include <iostream>
#include <vector>
using namespace std;
void reverse(vector<int>& nums, int left, int right)
{
while(left < right)
{
int temp = nums[left];
nums[left] = nums[right];
nums[right] = temp;
left++;
right--;
}
}
int main(void)
{
int n;
cout << "Please input 'n': ";
cin >> n;
vector<int> N(n, 0);
cout << "Please input 'N[]'(space to separate): " << endl;
for(int i = 0; i < n; i++)
{
cin >> N[i];
}
int m;
cout << "Please input 'm': " << endl;
cin >> m;
reverse(N, 0, n - 1);
reverse(N, 0, m - 1);
reverse(N, m, n - 1);
// output
for(int i = 0; i < n; i++)
{
cout << N[i] << " ";
}
cout << endl;
return 0;
}2. 多维数组
3. 一维数组
Last updated