• 技术文章 >Java >java教程

    java怎么随机打乱数组顺序

    WBOYWBOY2023-04-26 10:52:16转载23

    1、过程

    (1)数组大小和要重排序的数组;

    (2)初始化数组,以下标为元素值;

    (3)顺序打印出数组的值,重排序;

    (4)从0到index处之间随机取一个值,跟index处的元素交换,进行位置的调整。

    2、实例

    import java.util.Random;  
      
    public class RandomSort {  
        private Random random = new Random();  
        //数组大小  
        private static final int SIZE = 10;  
        //要重排序的数组  
        private int[] positions = new int[SIZE];  
          
        public RandomSort() {  
            for(int index=0; index<SIZE; index++) {  
                //初始化数组,以下标为元素值  
                positions[index] = index;  
            }  
            //顺序打印出数组的值  
            printPositions();
        }  
          
        //重排序  
        public void changePosition() {  
            for(int index=SIZE-1; index>=0; index--) {  
                //从0到index处之间随机取一个值,跟index处的元素交换  
                exchange(random.nextInt(index+1), index);  
            }  
            printPositions();  
        }  
          
        //交换位置  
        private void exchange(int p1, int p2) {  
            int temp = positions[p1];  
            positions[p1] = positions[p2];  
            positions[p2] = temp;  //更好位置
        }  
          
        //打印数组的值  
        private void printPositions() {  
            for(int index=0; index<SIZE; index++) {  
                System.out.print(positions[index]+" ");           
            }  
            System.out.println();  
        }  
      
        public static void main(String[] args) {  
            RandomSort rs = new RandomSort();  
            rs.changePosition();  
            rs.changePosition();  
            rs.changePosition();  
        }  
    }

    以上就是java怎么随机打乱数组顺序的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:亿速云,如有侵犯,请联系admin@php.cn删除
    专题推荐:Java
    上一篇:Java实现Word/Pdf/TXT转HTML的方法 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • Go Java算法之解码方法实例代码分析• Java的编译时错误和运行时错误问题怎么解决• Java 中的各种锁有哪些?• Java代码块的使用细节有哪些• Java Web项目访问不到html文件怎么解决
    1/1

    PHP中文网