kyuseo의 게임 프로그래밍

STL의 random_shuffle을 이용하여 일반 배열을 무작위로 랜담하게 만드는 방법 본문

개발자 팁

STL의 random_shuffle을 이용하여 일반 배열을 무작위로 랜담하게 만드는 방법

kyuseo 2010. 12. 8. 16:41

개요..

 

STL의 random_shuffle을 이용하여 vector 이나 list 가 아닌 일반 배열을 무작위로 랜덤하게 만드는 방법을 설명 드립니다.

 

 

일반 배열을 랜덤하게 섞는 소스코드

 

아래 소스코드와 같이 배열의 시작과 배열의 마지막 값 포인터를 인자로 하면 무작위로 값이 섞이게 되어있습니다.

 

소스코드

    BYTE m_Ball[ 10 ];

 

    // 볼을뒤섞는다.

    for( int i = 0; i < 10; i++ )

    {

        m_Ball[i] = i+1;

    }

 

    random_shuffle( m_Ball, m_Ball + 10 );

 

    // 볼을검증한다.

    for( int i = 0; i < 10 ; i++ )

    {

        static int nTrace = 0;

        TRACE( "%s(%d) : nTrace = %d \n" , __FILE__, __LINE__, m_Ball[i] );

    }

 

 

결과값

: nTrace = 9

: nTrace = 2

: nTrace = 10

: nTrace = 3

: nTrace = 1

: nTrace = 6

: nTrace = 8

: nTrace = 4

: nTrace = 5

: nTrace = 7