⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fig10_54.cpp

📁 经典书籍源代码啊。。。第三版。。。数据结构与算法分析——C++描述(第3版).
💻 CPP
字号:
static const int A = 48271;
static const int M = 2147483647;
class Random
{
  public:
    explicit Random( int initialValue = 1 );

    int randomInt( );
    double random0_1( );
    int randomInt( int low, int high );

  private:
    int state;
};
/**
 * Construct with initialValue for the state.
 */
Random::Random( int initialValue )
{
    if( initialValue < 0 )
        initialValue += M;
    state = initialValue;
    if( state == 0 )
        state = 1;
}
/**
 * Return a pseudorandom int, and change the
 * internal state. DOES NOT WORK CORRECTLY.
 * Correct implementation is in Figure 10.55.
 */
int Random::randomInt( )
{
    return state = ( A * state ) % M;
}
/**
 * Return a pseudorandom double in the open range 0..1
 * and change the internal state.
 */
double Random::random0_1( )
{
    return (double) randomInt( ) / M;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -