本文整理汇总了C++中set::IsEmpty方法的典型用法代码示例。如果您正苦于以下问题:C++ set::IsEmpty方法的具体用法?C++ set::IsEmpty怎么用?C++ set::IsEmpty使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类set
的用法示例。
在下文中一共展示了set::IsEmpty方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: sfexcl_split
//.........这里部分代码省略.........
R = f * V;
}
}
if (R < distMin) R = distMin;
//----------------------
//prepare R-neiborhood-subsets to speed up splitting
lneib Rneibs(N);
for (C = 0; C < N - 1; C++)
for (Z = C + 1; Z < SIGNED_4B_TYPE(N); Z++)
if (dist(C, Z) < R)
{
Rneibs[C].PutInSet(Z);
Rneibs[Z].PutInSet(C);
}
//----------------------
test.Dump();
train = seed;
C = train.Size();
SIGNED_4B_TYPE nspnts = 0;
apvector<SIGNED_4B_TYPE> pnts_i(N), pnts(N - C), spnts(N), vecRneibs;
for (Z1 = Z = 0; Z < SIGNED_4B_TYPE(N); Z++)
{
if (seed.IsInSet(Z)) continue;
pnts[Z1++] = Z;
}
pnts.rand_shuffle(); //randomize datapoint positions
for (Z = 0; Z < SIGNED_4B_TYPE(N - C); Z++) pnts_i[pnts[Z]] = Z; //store randomized positions
while (C < N)
{//go on as long as there are points to exhaust
if (seed.IsEmpty())
{
if ( ((Mode & SFEXCL_NEXTSF_RAND) == SFEXCL_NEXTSF_RAND) || (nspnts == 0) )
//get random seeding point from the rest of the data
Z = 0; //GetRandomNumber( N - C ); //array has been randomized already anyway
else
{//el would store -> pnts[]
mnD = 0;
if ((Mode & SFEXCL_NEXTSF_STEP2_MIN) == SFEXCL_NEXTSF_STEP2_MIN) mnD = distMax * N;
if ((Mode & SFEXCL_NEXTSF_SPHERES) == SFEXCL_NEXTSF_SPHERES)
for (el = Z = 0; Z + C < N; Z++)
{
rtD = 0;
if ( ((Mode & SFEXCL_NEXTSF_STEP1_SUMDIST) != SFEXCL_NEXTSF_STEP1_SUMDIST) &&
((Mode & SFEXCL_NEXTSF_STEP1_MIN) == SFEXCL_NEXTSF_STEP1_MIN) )
rtD = distMax * N;
for (Z1 = 0; Z1 < nspnts; Z1++)
{
if ((Mode & SFEXCL_NEXTSF_STEP1_SUMDIST) == SFEXCL_NEXTSF_STEP1_SUMDIST)
rtD += dist(pnts[Z], spnts[Z1]);
else
if ( ((Mode & SFEXCL_NEXTSF_STEP1_MIN) == SFEXCL_NEXTSF_STEP1_MIN) ^ (dist(pnts[Z], spnts[Z1]) > rtD) )
rtD = dist(pnts[Z], spnts[Z1]);
}
if ( ((Mode & SFEXCL_NEXTSF_STEP2_MIN) == SFEXCL_NEXTSF_STEP2_MIN) ^ ( mnD < rtD ) )
{
mnD = rtD;
el = Z;
}
}
else //if ((Mode & SFEXCL_NEXTSF_SPHERES) == SFEXCL_NEXTSF_SPHERES)