本文整理汇总了C++中Link::find_total方法的典型用法代码示例。如果您正苦于以下问题:C++ Link::find_total方法的具体用法?C++ Link::find_total怎么用?C++ Link::find_total使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Link
的用法示例。
在下文中一共展示了Link::find_total方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: generate
Link* Link::generate()
{
Link* n = new Link();
n->value = randint(1, 10);
n->level = 1;
Link* p = this;
if (p->find_total(n) != 0) // Если есть элемент на уровне ниже, то уже добавляем новый элемент слоем выше него.
{
p = p->find_lower(n);
n->level++;
if (p->find_total(n) != 0) // Есть уже элемент n->level 2
{
p = p->find_lower(n); // p это копия элемента n->level 2
n->level++; // Если есть - добавляем n на третий элемент, n->level стал 3
}
if (make_decision(100 / (n->level - 0.6))) // При решении добавить элемент.
{
cout << "Decision true on p value: " << n->value << ", level: " << n->level << " #" << cnt << '\n';
p = p->add(n);
cnt++;
}
else
{
cout << "Decision false on p value: " << n->value << " level: " << n->level << '\n';
return this;
}
p = p->set_neighbours();
return p;
}
if (p->find_total(n) != 0)
{
if (p->level + 1 < system_levels)
return this;
}
}
示例2: generate
Link* Link::generate()
{
Link* n = new Link();
n->value = randint(1, 10);
n->level = 1;
Link* p = this;
while (p->find_total(n)) // Если есть элемент на уровне ниже, то уже добавляем новый элемент слоем выше него.
{
p = p->find_total(n);
n->level++;
if (n->level == system_levels && n->level == 1 || n->level > system_levels)
{
n->level--; // n->level - 1, потому-что счётчик накручивает 5й элемент автоматом
cout << "Element already exists;" << setw(4) << " value: " << n->value << ", level: " << n->level << " string: " << str_cnt << '\n';
return this;
}
}
if (make_decision(100 / (n->level - 0.6))) // При решении добавить элемент.
{
cout << "Decision true on p " << setw(12) << "value: " << n->value << ", level: " << n->level << " #" << cnt << " string: " << str_cnt << '\n';
p = p->add(n);
cnt++;
str_cnt++;
}
else
{
cout << "Decision false on p " << setw(11) << "value: " << n->value << ", level: " << n->level << " string: " << str_cnt << '\n';
str_cnt++;
return this;
}
p = p->set_neighbours();
return p;
}