📄 randomizer.h
字号:
#pragma once
#include <vector>
#include <algorithm>
typedef std::vector<int> RANDOM_VEC;
typedef RANDOM_VEC::iterator RANDOM_VEC_ITER;
// 沥痹拳等 抄荐 眠免扁
// 盖梅俊 Create 茄锅 窍绊 Rand 窃荐 荤侩窍搁 凳!
class Randomizer
{
public:
Randomizer() { m_iRandMax = 0; m_iGetCount = 0; }
~Randomizer() { Destroy; }
void Create( int iRandMax )
{
m_iRandMax = iRandMax;
for( int i = 1; i <= iRandMax; ++i )
{
m_vecRandom.push_back( i );
}
RandomShuffule();
}
void Destroy()
{
m_vecRandom.clear();
}
// 1 ~ RandMax 荤捞狼 烙狼狼 荐
inline int Rand()
{
int retVal = m_vecRandom[m_iGetCount];
if( ++m_iGetCount >= m_iRandMax ) { m_iGetCount = 0; RandomShuffule(); }
return retVal;
}
// min ~ max 荤捞狼 烙狼狼 荐
inline int Rand( int min, int max )
{
return ( Rand() % ( max + 1 - min ) ) + min;
}
private:
inline void RandomShuffule()
{
random_shuffle( m_vecRandom.begin(), m_vecRandom.end() );
}
RANDOM_VEC m_vecRandom;
int m_iRandMax;
int m_iGetCount;
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -