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


C++ Array1D::end方法代码示例

本文整理汇总了C++中Array1D::end方法的典型用法代码示例。如果您正苦于以下问题:C++ Array1D::end方法的具体用法?C++ Array1D::end怎么用?C++ Array1D::end使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Array1D的用法示例。


在下文中一共展示了Array1D::end方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: NextPermutation

bool NextPermutation(Array1D &array)
{
    Array1D::size_type size = array.size();
    if (size <= 1) { return false; }
    for (int i = size - 2, ii = size - 1; i >= 0; i--, ii--) {
        if (array[i] < array[ii]) {
            int j = size - 1;
            while (array[j] <= array[i]) { j--; }
            std::swap(array[i], array[j]);
            std::reverse(array.begin() + ii, array.end());
            return true;
        }
    }
    std::reverse(array.begin(), array.end());
    return false;
}
开发者ID:xiejianhe,项目名称:FindWork,代码行数:16,代码来源:permutation.cpp

示例2: CombinationWithDuplicatedElementsByNonRecursion

Array2D CombinationWithDuplicatedElementsByNonRecursion(Array1D array, int K)
{
    Array2D result;
    if (array.empty() || K <= 0) { return result; }
    if (array.size() < K) {
        result.push_back(array);  /** @warning maybe exclude it */
        return result;
    }

    std::sort(array.begin(), array.end());
    result.push_back(Array1D());
    int last = array[0], opt_result_num = 1;
    for (int i = 0; i < array.size(); i++) {
        if (array[i] != last) {
            last = array[i];
            opt_result_num = result.size();
        }
        Array2D::size_type result_size = result.size();
        for (int j = result_size - 1; j >= result_size - opt_result_num; j--) {
            result.push_back(result[j]);
            result.back().push_back(array[i]);
        }
    }
    return result;
}
开发者ID:xiejianhe,项目名称:FindWork,代码行数:25,代码来源:combination.cpp


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