作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个固定的大小为9的数组,我正在尝试对其进行随机重排序而不重复。
这是下面的代码:
class numbers{
int randomIndexCount;
public:
void randomArray( int numArray[],int size){
randomIndexCount = 0;
for (int i = 0; i < size; i++)
{
int RandomIndex = rand() % size;
randomIndexCount++;
numArray[i] = numArray[RandomIndex];
cout << numArray[i] <<endl;
}
}
int main(){
srand(time(0));
int numArray[9]= {1,2,3,4,5,6,0,0,0};
numbers n;
n.randomArray(numArray,9);
return 0;
}
{0,1,0,6,2,0,5,3,4}
最佳答案
您应该在此行中交换元素numArray[i] = numArray[RandomIndex];
,而不是分配。这将复制数据!这是交换:
int v = numArray[i];
numArray[i] = numArray[RandomIndex];
numArray[RandomIndex] = v;
关于c++ - 随机重排数组中的元素而无需重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60543704/
我是一名优秀的程序员,十分优秀!