我声明一个动态数组int *idArray;,我想将值复制到a tempArray,然后我将更改顺序tempArray,但我不想更改顺序idArray,我怎么能写它?我试图实现它,但是当顺序tempArray改变时,顺序idArray也会改变.
int *idArray = new int[size];
int *tempArray = idArray;
int m, n;
for(int k = 0; k < size; k++) {
m = rand() % size;
n = tempArray[m];
tempArray[m] = tempArray[k];
tempArray[k] = n;
}
Run Code Online (Sandbox Code Playgroud)
std::vector<int> idArray(size);
std::vector<int> tempArray = idArray;
Run Code Online (Sandbox Code Playgroud)
问题解决方案.
此外,你可以使用std::random_shuffle- 你不必自己洗牌.
| 归档时间: |
|
| 查看次数: |
2852 次 |
| 最近记录: |