gpt4 book ai didi

c++ - 右旋操作

转载 作者:行者123 更新时间:2023-12-01 23:34:09 26 4
gpt4 key购买 nike

int main()
{
int shiftSteps, newposition;
int numbers[10], numberscopy[10];
cin >> shiftSteps;

for (int i = 0; i < 10; i++)
cin >> numbers[i];

for (int i = 0; i < 10; i++)
numberscopy[i] = numbers[i];

//----------------------------------------

for (int i = 0; i < 10; i++)
{
newposition = (i + shiftSteps) % 10;
numbers[newposition] = numberscopy[i];
}

for (int i = 0; i < 10; i++)
cout << numbers[i] << " ";
}

我写这段代码是用辅助数组 “numberscopy” 向右旋转 10 个数字,但我想在没有辅助数组的情况下重写代码,但我不知道该怎么做。

最佳答案

您可以就地旋转数组,即不使用带有 std::rotate 的辅助数组这是一个标准算法。

std::rotate(numbers, numbers + shiftSteps, numbers + 10);

关于c++ - 右旋操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65839869/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com