📄 choose.cpp
字号:
// 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -