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