本文整理汇总了C++中Blocks::cbegin方法的典型用法代码示例。如果您正苦于以下问题:C++ Blocks::cbegin方法的具体用法?C++ Blocks::cbegin怎么用?C++ Blocks::cbegin使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Blocks
的用法示例。
在下文中一共展示了Blocks::cbegin方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Unblock
// Start solving the problem.
bool Board::Unblock(Blocks bs)
{
count_setblock = 0;
count_checkblock = 0;
count_setcell = 0;
count_checkcell = 0;
// Sort Blocks by block weight
sort(bs.begin(), bs.end(), [](Block *a, Block *b)
{
return (a->weight > b->weight);
});
for (auto i = bs.cbegin(); i != bs.cend(); i++)
{
(*i)->Print("Block " + to_string(i - bs.cbegin()));
}
// Find solution
bool result = RecursiveSetBlock(bs, 0);
cout << "count_setblock = " << count_setblock << endl
<< "count_checkblock = " << count_checkblock << endl
<< "count_setcell = " << count_setcell << endl
<< "count_checkcell = " << count_checkcell << endl;
return result;
}
示例2: puzzle_i
void puzzle_i()
{
Blocks bs;
Board board(5, 6);
bs.push_back(&(*(new Block()))("***"));
bs.push_back(&(*(new Block()))("***| *| *"));
bs.push_back(&(*(new Block()))("**|**"));
bs.push_back(&(*(new Block()))("*|**"));
bs.push_back(&(*(new Block()))(" **| *|**"));
bs.push_back(&(*(new Block()))("*|*"));
bs.push_back(&(*(new Block()))("***| *"));
bs.push_back(&(*(new Block()))("*|**| *"));
cout << "---------- Puzzle I ----------" << endl;
if (!board.Unblock(bs))
{
cout << "No solution!" << endl;
}
for (auto i = bs.cbegin(); i != bs.cend(); i++)
{
delete (*i);
}
}