当前位置: 首页>>代码示例>>C++>>正文


C++ multiset::cbegin方法代码示例

本文整理汇总了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; });

}
开发者ID:manish-kumar1,项目名称:uva,代码行数:33,代码来源:unixls-00400.cpp


注:本文中的multiset::cbegin方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。