怎样将一个数组内元素的顺序打乱

如题所述

数组大小 n; 一次产生2个 随机下标,交换这2个数;像炒饭似地 做它100次,就打得够乱了。
例子:
#include<stdio.h>
#include<time.h>

int main( )
{
int a[50],v;
int i,i1,i2;
int n=50;
for (i=0;i<n;i++) a[i]=i;
srand(time(NULL));
for(i=0;i<100;i++){
i1 = rand() % n;
i2 = rand() % n;
v=a[i1];a[i1]=a[i2];a[i2]=v;
}
for (i=0;i<n;i++) {
if (i % 10 == 0) printf("\n");
printf("%4d ",a[i]);
};
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-10-20
随机选一个位置,依次将元素移动到随机的位置
相似回答