map 에서 랜덤 돌리는 함수

2007/10/01 23:58

흠.. 어떻게 할까 고민하다가 iterator를 쓰기로 했다. 
[ more.. | less.. ]
typedef pair<int, int>    MYPOINT;
typedef map<MYPOINT, vector<MYPOINT> >    MOVEDATA;



MOVEDATA m_OneMove;


BOOL SetOneMove() { if ( m_OneMove.empty() ) return FALSE; MOVEDATA::iterator imap = m_OneMove.begin(); int RanOneMove = random( m_OneMove.size() ); for ( int i = 0; i < RanOneMove; ++i ) ++imap; RanOneMove = random( imap->second.size() ); m_BestFirst = *( imap->second.begin()+RanOneMove ); m_BestSecond = imap->first; return TRUE; }

Tags

map, Random, STL