c语言生成随机数的方法(获得一组不同的随机数)
//以空间换时间
/*
arr :数组名
n :给定的数组长度
转移数组中的数据
*/
void diffarr(int arr[],int n)
{
int sn=n,index,*ptr=arr;
int *pfrom=new int[sn];
for(int i=0;i<sn;i++)
*(pfrom+i) =i+1 ;
srand(time(0));
for(int k=0;k<sn;)
{
index=rand()% sn;
if(*(pfrom+index)!=0)
{ //从源数据pfrom取,每取一个将其置为0,直至pfrom中所有元素都为0
*(ptr+k)=pfrom[index];
pfrom[index]=0;
k++;
}
}
delete [] pfrom;
}
相关文章
对比C语言中的setbuf()函数和setvbuf()函数的使用
这篇文章主要介绍了对比C语言中的setbuf()函数和setvbuf()函数的使用,涉及到缓冲区与流的相关知识,需要的朋友可以参考下2015-08-08
最新评论