JSMS08-洗牌算法,打乱数组中元素的顺序

201 阅读1分钟

打乱数组中的元素顺序

洗牌算法,时间复杂度O(N^2)

	let a=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,];
	let tmp=0;
	
	for(let i=0;i<a.length;i++){
		for(let j=0;j<a.length;j++){
			tmp=Math.random()*10;
			tmp=Math.floor(tmp);
			if(j+tmp<a.length){
				[a[j],a[j+tmp]]=[a[j+tmp],a[j]];
			}
		}
	}