gpt4 book ai didi

c++ - 反转数字的子序列

转载 作者:行者123 更新时间:2023-11-27 22:59:49 25 4
gpt4 key购买 nike

我正在尝试使用 reverse 函数通过反转原始数组中的子序列来填充 int 类型的新数组。但是我只是得到相同的数字序列。有人可以指出我的错误吗?先感谢您。

double swap4()
{
int i = rand()%(n-1); //choose radom sub seq. start point.
int k = rand()%(n-i); //choose radom sub seq. end point.
int *p;
int *q;
p = &Path[i];
q = &Path[k];
reverse(p,q); //reverse the sequence.

for(int j=0;j<n;j++)
{
neworder[j] = Path[j]; //create a new array to store the new sequnece.
}

reverse(p,q); //reverse again to regain the origional.

cout<<" the reversed path is "<< endl;

for(int i=0;i<n;i++) //print out new sequence.
{
cout << neworder[i]<< " ";
}

cout<< neworder[0] <<")"<<endl;
}

最佳答案

k 应该初始化为 -

int k = i + rand()%(n-i);

关于c++ - 反转数字的子序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28949137/

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