가자공부하러!

셔플 알고리즘( java ) 본문

공부/내 라이브러리

셔플 알고리즘( java )

오피스엑소더스 2019. 5. 21. 17:54
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
void play1() {
    //    셔플 알고리즘
    //    정수 배열에 랜덤한 값을 입력
    //    중복 없이 셔플합니다 ! 
 
    //배열 길이
    int arrLen = 5;
    
    //배열 선언
    int r_num[] = new int[arrLen];
    boolean r_swit[] = new boolean[arrLen];
    
    //초기화
    for(boolean b : r_swit)
        b = false;
        
    //반복제어 변수 선언 및 초기화
    int w = 0;
    int rndTemp = 0;
        
    while ( w < arrLen ) {
        rndTemp = (int)( Math.random() * 5 );
        if(r_swit[rndTemp] == false) {    //랜덤값을 index로 갖는 r_swit가 false이면
            r_swit[rndTemp] = true;        //r_swit[rndTemp]에 true 저장
            r_num[w] = rndTemp + 1;        //r_num[반복]
            w++;                        //반복변수 +1
        }
    }
        
    for(int i : r_num)
        System.out.print(i + " ");
    
}
 
cs































Comments