本文主要是介绍Fisher-Yates乱序算法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
乱序算法
public class Test07 {public static void main(String[] args) {//乱序算法int[] arr = {1,2,3,4,5,6,7,8};//逆序遍历 且这个随机的下标不能使要交换的元素的本身for(int i = arr.length-1;i>0;i--){//产生一个随机的下标与当前元素进行交换int index = (int)(Math.random()*i);arr[i] = arr[i] ^ arr[index];arr[index] = arr[i] ^ arr[index];arr[i] = arr[i] ^ arr[index];}System.out.println(Arrays.toString(arr));}
}
结果(随机):
这篇关于Fisher-Yates乱序算法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!