求助:关于获取一个随机数的算法问题

繁华终归落尽 2014-10-27 04:26:32
比如我有一个数组:
var temp=[...] 
,数组长度初始化为16,每一位默认为空
要求如下:
1.随机获取一个位置,插入一个常量
2.数组中不为空的位置不再参于
3.数组中每个位置都不为空,程序退出

求教思路...
...全文
257 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
world_broken 2014-10-27
  • 打赏
  • 举报
回复
插入常量?是生成16个随机数吧?直接生成就行了。
scscms太阳光 2014-10-27
  • 打赏
  • 举报
回复
唉,你插入的是常量,随机不随机还不是一样。 如果插入的是随机,还不如先顺序插入随机数,然后打乱顺序。
似梦飞花 2014-10-27
  • 打赏
  • 举报
回复

var arr=new Array(16);
var arr2=[];
for(var i=0;i<16;i++){
  arr2.push(i);
}
while(i--){
  var d=Math.ceil(i*Math.random());
  arr[arr2[d]]=1;
  arr2.splice(d,1);
  
}
arr;
天际的海浪 2014-10-27
  • 打赏
  • 举报
回复
不用留空的位置,建个长度为0 的数组,随机往数组中插入16个常数不就得了
繁华终归落尽 2014-10-27
  • 打赏
  • 举报
回复
再顶一顶
繁华终归落尽 2014-10-27
  • 打赏
  • 举报
回复
再顶一顶,没人了么
繁华终归落尽 2014-10-27
  • 打赏
  • 举报
回复
引用 1 楼 slwsss 的回复:
这好麻烦啊,一个循环过去不就行了,效果也一样
循环不行哦,位置必须随机的
slwsss 2014-10-27
  • 打赏
  • 举报
回复
这好麻烦啊,一个循环过去不就行了,效果也一样

87,909

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧