C++描述:
void RandomShuffle(int n,int r[])
{
     for(i=0;i<n;i++)
     {
           j=Random(0,n-i-1);
           r[i]——r[j];   //交换r[i]和r[j]
      }
}
请求各位高手给予解答,谢谢!!!!!!!

解决方案 »

  1.   

    function shuffle(arr) { // 随机打乱数组
    for (var i = 0; i < arr.length; i++) {
    var j = Math.floor(Math.random() * (arr.length - i + 1));
    var t = arr[j];
    arr[j] = arr[arr.length - i - 1];
    arr[arr.length - i - 1] = t;
    }
    }
      

  2.   

    <script>
    function RandomShuffle(r)
    {
      var n = r.length;
      for(i=0;i<n;i++)
      {
      var j=Math.ceil(Math.random()*(n-1));
      var temp = r[i];
      r[i] = r[j];
      r[j] = temp; //交换r[i]和r[j]
      }
      return r;
    }
    alert(RandomShuffle([1,2,3,4,5,6,7,8,9,10]));
    </script>
      

  3.   

    var randomArr = function(arr) {
    var a = arr.slice(0);
    a.sort(function() {
    return 0.5 > Math.random();
    });
    return a;
    }
      

  4.   

    function shuffle(arry) { // 随机打乱数组
        for (var i = 0; i < arry.length; i++) {
            var j = Math.random() * (arry.length - i + 1);
            var arr = arry[j];
            arr[j] = arry[arry.length - i - 1];
            arr[arry.length - i - 1] = arr;
        }
    }
      

  5.   

    具体给LZ洗扑克牌吧——<script type=text/javascript>var f="红桃黑桃方块梅花".match(/.{2}/g), r="A2345678910JQK".split(""), o, p=[], k={}, m=f.length, n=r.length;
    while(p.length < 52) o = f[m*Math.random()>>0] + r[n*Math.random()>>0], !k[o] && p.push(o) && (k[o] = !0);
    alert(p.join("\n"))    </script>
      

  6.   


    哦,是有问题,改进:<script type=text/javascript>var f = ["红桃", "黑桃", "方块", "梅花", "小王", "大王"]; 
    var r = ["A","2","3","4","5","6","7","8","9","10","J","Q","K"];
    var p = [], k = {}, m = f.length, n = r.length, x, y, o;
    while(p.length < 54) {
        x = f[m * Math.random()>>0];
        y = r[n * Math.random()>>0];
        o = (x=="小王" || x=="大王") && x || x + y;
        ! k[o] && p.push(o) && (k[o] = !0);
    }
    alert(p.join("\n"))    </script>
      

  7.   

    也许这样更直观些......<body></body>
    <script type=text/javascript>
    (function(){
       document.onclick = function(e){
          var e = e ||window.event;
          !+"\v1"?(e.cancelBubble=!0):e.stopPropagation();
          var o = e.srcElement || e.target;
          var d = document.getElementsByTagName("div");
          for(var i=0; !!d[i]; i++)d[i].style.zIndex = i;
          o.style.zIndex = 99999;
          e = o = null;
       }
    })
    ((function(p){
       return function(c){
          return function(i){
             var e = document.createElement("div");
             e.style.cssText = c;
             e.style.top  = Math.random()*(document.body.clientHeight-200)>>0 + "px";
             e.style.left = Math.random()*(document.body.clientWidth -200)>>0 + "px";
             e.innerHTML = p[i];
             document.body.appendChild(e);
             e = null;
             return ++i < p.length && arguments.callee(i);
          }(0)
       }
    })
    ((function(f, r){
       var x, y, o, p = [], k = {}; 
       var m = f.length, n = r.length;
       while(p.length < 54){
          x = f[m * Math.random() >> 0];
          y = r[n * Math.random() >> 0];
          o = (x=="小王" || x=="大王") && x || x + y;
          ! k[o] && p.push(o) && (k[o] = !0);
       }
       return p
    })  
    (["红桃","黑桃","方块","梅花","小王","大王"], ["A","2","3","4","5","6","7","8","9","10","J","Q","K"]))
    ("position:absolute; width:100px; height:150px; color:green; border:1px solid #000; background:#ddd"))
    </script>
      

  8.   

    再完善:<body></body>
    <script type=text/javascript>
    (function(b){
      !!b || (document.onclick = function(e){
          var e = e ||window.event;
          !+"\v1"?(e.cancelBubble=!0):e.stopPropagation();
          var o = e.srcElement || e.target;
          var d = document.getElementsByTagName("div");
          for(var i=0; !!d[i]; i++)d[i].style.zIndex = i;
          o.style.zIndex = 99999;
          e = o = null;
       })
    })
    ((function(p){
       return function(c){
          var w = c.replace(/^.*width:(\d+).*height:(\d+).*$/g, "$1,$2").split(",");
          return function(i){
             var e = document.createElement("div");
             e.style.cssText = c;
             e.style.left = Math.random()*(document.body.clientWidth -w[0])>>0 + "px";
             e.style.top  = Math.random()*(document.body.clientHeight-w[1])>>0 + "px";
             e.innerHTML = p[i];
             document.body.appendChild(e);
             e = null;
             return ++i < p.length && arguments.callee(i) || false;
          }(0)
       }
    })
    ((function(f, r){
       var x, y, o, p = [], k = {}; 
       var m = f.length, n = r.length;
       while(p.length < 54){
          x = f[m * Math.random() >> 0];
          y = r[n * Math.random() >> 0];
          o = (x=="小王" || x=="大王") && x || x + y;
          ! k[o] && p.push(o) && (k[o] = !0);
       }
       return p
    })  
    (["红桃","黑桃","方块","梅花","小王","大王"], ["A","2","3","4","5","6","7","8","9","10","J","Q","K"]))
    ("position:absolute; width:100px; height:150px; color:green; border:1px solid #000; background:#ddd"))
    </script>