2023-12-31 14:06:52
使用交换律
r为0~i的随机索引
索引为i的数据和索引为r的数据进行交换,循环len个长度进行交换,也就是说交换len次
类似冒泡排序法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
var a = [3,2,13], len = a.length;for(var i = 0; i < len; i++){ for(var j = i + 1; j < len; j++){ if(a[i] > a[j]){ // 把a[i]先存储到tmp中 var tmp = a[i]; //然后把a[j]存储到a[i] a[i] = a[j]; //原来的a[i]就是tmp,存储到a[j],这样就换过来了 a[j] = tmp; } }}看来你还不会冒泡排序法只不过少了个for循环,j换成了随机的r,从而实现了洗牌功能。