c语言怎么实现从一个数组中随机抽取一个元素?
1个回答
展开全部
随机产生一个数,然后每次将数组元素的最后一个数与这个数交换,并且数组的长度减1。
int [] b = new int[100];
int t = 0, idx = 0, len = a.length;
for(int i=0;i<len;i++)
{
idx = [rand()*(len-i)];
b[i] = a[idx];
t = a[idx];
a[idx] = a[len - 1];
a[len - 1] = t;
}
return b;
int [] b = new int[100];
int t = 0, idx = 0, len = a.length;
for(int i=0;i<len;i++)
{
idx = [rand()*(len-i)];
b[i] = a[idx];
t = a[idx];
a[idx] = a[len - 1];
a[len - 1] = t;
}
return b;
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |