以下代码是百度2015校招笔试题“用1-n构建长度为n的数组,保证任意一个数字的位置都是随机的”代码实现
//#ifndef BAIDU1
//#define BAIDU1//避免重复编译
#include<cstdlib>
#define MAX 2147483648
inline int random_me(int m){//产生0-m的随机数
return rand()%(m);
}
int* chansheng(int n){
int *a;
a=new int[n];
for(int t=0;t<n;t++){
a[t]=0;
}
int e;
for(int t=1;t<=n;++t){
e=random_me(n);
if(a[e]!=0){
continue;
}
a[e]=t;
}
return a;
}
其中产生是主函数