choose.cpp

来自「关联规则挖掘数据产生程序.VISUAL C++ 可产生满足要求的挖掘数据.」· C++ 代码 · 共 62 行

CPP
62
字号
// Choose.cpp: implementation of the CChoose class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "Choose.h"

#include "Dist.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////


// allows selection of k random items from the string
// 
CChoose::CChoose(int n, int k)
{
  UniformDist ud;
  int i, j, ival;
  float fval;

  num = new int [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;
    }
}


CChoose::~CChoose(void)
{
  delete [] num;
  delete [] rval;
}

⌨️ 快捷键说明

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