本文整理汇总了C++中multiset::cbegin方法的典型用法代码示例。如果您正苦于以下问题:C++ multiset::cbegin方法的具体用法?C++ multiset::cbegin怎么用?C++ multiset::cbegin使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类multiset
的用法示例。
在下文中一共展示了multiset::cbegin方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: format
void format(const multiset<string> &input, const size_t n) {
static const string label(60, '-');
size_t maxLen = max_element(begin(input), end(input), maxLength)->size();
size_t columnSize = maxLen + 2;
size_t maxCols = 0, maxRows = 0;
for (int l = maxLen; l <= 60; l += (2+maxLen), ++maxCols);
maxRows = n/maxCols;
if (n % maxCols != 0) ++maxRows;
// copy(input.begin(), input.end(), ostream_iterator<string>(cout, "\n"));
// cout << "log: " << maxRows << ", " << maxCols << ", " << maxLen << ", " << n << endl;
vector<stringstream> table(maxRows);
size_t i = 0;
multiset<string>::const_iterator it = input.cbegin();
for (i = 0; i < maxRows; ++i, ++it) {
table[i] << (*it);
}
for (size_t c = 0; it != input.cend(); ++it, ++i) {
if (i == maxRows) { i = 0; c++; }
if (c != maxCols) {
// cout << "xxx " << table[i].gcount() << ",,," << table[i].str().size() << endl;
for (size_t sp = c*(maxLen + 2) - table[i].str().size(); sp > 0; --sp) table[i] << ' ';
}
table[i] << *it;
if (c == maxCols-1) {
for (size_t sp = maxCols*maxLen + (maxCols-1)*2 - table[i].str().size(); sp > 0; --sp) { table[i] << ' '; }
}
}
cout << label << endl;
for_each(table.begin(), table.end(), [](stringstream &s) { cout << s.str() << endl; });
}