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

📄 dist.cpp

📁 IBM实验室提供的数据集生成器源码
💻 CPP
字号:
#include "dist.h"
#ifdef _WIN32#include <limits.h>
#else
#include <values.h>
#endif//------------------------------- RandSeed -------------------------------UniformDist *RandSeed::ran1 = new UniformDist(INIT_SEED);void RandSeed::set_seed(long new_seed){  delete ran1;  ran1 = new UniformDist(new_seed);}long RandSeed::new_seed(void){  float ans;  ans = (*ran1)();  ans *= (*ran1)();//  cout << "rand_seed : " << idum << " " << long(-MAXLONG * ans) << endl;
  #ifdef _WIN32  return long(-LONG_MAX * ans);
  #else
  return long(-MAXLONG * ans);
  #endif
}//------------------------------- Choose -------------------------------// allows selection of k random items from the string// Choose::Choose(LINT n, LINT k){  UniformDist ud;  LINT i, j, ival;  FLOAT fval;  num = new LINT [n];  rval = new FLOAT [n];  // associate a random value with each item  // also copy item into num  for (i = 0; i < n; i++)    {      rval[i] = ud();      num[i] = i;    }    // sort num according to the values in rval  for (i = 0; i < n; i++ )    {      ival = num[i]; fval = rval[i];      for ( j = i; j > 0 && rval[j-1] > fval; j-- ) {	  num[j] = num[j-1];	  rval[j] = rval[j-1];	}      num[j] = ival;      rval[j] = fval;    }  // resort first k num according to position  for (i = 0; i < k; i++ )    {      ival = num[i];       for ( j = i; j > 0 && num[j-1] > ival; j-- )	num[j] = num[j-1];      num[j] = ival;    }}Choose::~Choose(void){  delete [] num;  delete [] rval;}

⌨️ 快捷键说明

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