相关疑难解决方法(0)

如何随机化(shuffle)一个JavaScript数组?

我有这样一个数组:

var arr1 = ["a", "b", "c", "d"];
Run Code Online (Sandbox Code Playgroud)

我如何随机化/随机播放?

javascript arrays shuffle

1138
推荐指数
36
解决办法
67万
查看次数

用随机数填充数组

我试图用随机序列中1-20的数字填充20个整数的数组.这是我的代码:

 int lookup[20]={0}; 
 int array[20]={0};
 srand(time(NULL));
 for(int i=0;i<20;++i){ 
    bool done=false;
    while(!done){
      int n=rand()%20;
      if(lookup[n]==0){
          array[i]=n;
          lookup[n]=1;
          done=true;
      }
    }
 }
Run Code Online (Sandbox Code Playgroud)

我创建了一个查找数组来检查是否还没有选择随机数并将其存储在数组中.正如你所看到的,我创建了2个循环,一个用于遍历数组,而while用于选择随机数.在每次循环迭代中,数字可能会重新出现并导致另一个while循环.有没有更快的方法来做到这一点?

c c++ random

10
推荐指数
3
解决办法
1万
查看次数

Javascript:请向我解释这一行代码

我有这个简单的数组:

var RedirUrl = new Array(4);
RedirUrl[0] = 'http://mafi.se/mf_redir/new_install_'+this_version+'.html';
RedirUrl[1] = 'http://ifurls.com/mf_redir/new_install_'+this_version+'.html';
RedirUrl[2] = 'http://ez.se/xml-update/mf_redir/new_install_'+this_version+'.html';
RedirUrl[3] = 'http://ilovre.net/mf_redir/new_install_'+this_version+'.html';
RedirUrl[4] = 'http://rihel.com/mf_redir/new_install_'+this_version+'.html';
Run Code Online (Sandbox Code Playgroud)

然后

RedirUrl.sort(function() {return 0.5 - Math.random()}) 
Run Code Online (Sandbox Code Playgroud)

最后一点让我感到困惑.我理解"排序",我理解Math.random但是让return 0.5我感到困惑......究竟是什么?

(不用说我把它从网上下载,就像我想做的那样...但我只是不明白它.)

javascript

3
推荐指数
1
解决办法
172
查看次数

qsort是否要求进行一致的比较,还是可以将其用于改组?

更新:请在不好的想法下提交.生活中没有任何免费的东西,这肯定是证据.一个简单的想法变坏了.然而,这绝对是值得学习的东西.

懒惰的编程挑战.如果我传递一个50-50为qsort的比较函数返回true或false的函数,我认为我可以有效地取消编写3行代码的结构数组.

int main ( int argc, char **argv)
{
    srand( time(NULL) );  /* 1 */
    ...
    /* qsort(....) */     /* 2 */
}
Run Code Online (Sandbox Code Playgroud)

...

int comp_nums(const int *num1, const int *num2)
{
    float frand = 
          (float) (rand()) / ((float) (RAND_MAX+1.0));  /* 3 */

    if (frand >= 0.5f)
         return GREATER_THAN;
    return LESS_THAN;
}
Run Code Online (Sandbox Code Playgroud)

我需要寻找的任何陷阱?是否可以通过交换更少的线路,或者这对于3条非平凡的线路来说是最干净的?

c sorting random

1
推荐指数
2
解决办法
954
查看次数

标签 统计

c ×2

javascript ×2

random ×2

arrays ×1

c++ ×1

shuffle ×1

sorting ×1