Heim  >  Artikel  >  Java  >  So mischen Sie die Reihenfolge eines Arrays in Java zufällig

So mischen Sie die Reihenfolge eines Arrays in Java zufällig

WBOY
WBOYnach vorne
2023-04-26 10:52:161957Durchsuche

1. Prozess

(1) Array-Größe und neu anzuordnendes Array;

(2) Initialisieren Sie das Array mit Indizes als Elementwerte;

(3) Drucken Sie die Werte des Arrays nacheinander aus und neu anordnen;

(4) Wählen Sie zufällig einen Wert von 0 bis Index, tauschen Sie ihn mit dem Element am Index aus und passen Sie die Position an.

2. Beispiel

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();  
    }  
}

Das obige ist der detaillierte Inhalt vonSo mischen Sie die Reihenfolge eines Arrays in Java zufällig. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen