C++ 算法 is_permutation() 函数

定义和用法

is_permutation() 函数用于检测一个数据范围是否是另一个数据范围的排列组合。

如果是排列组合则返回布尔值 true,否则返回 false。

排列组合指的是第二个数据范围从起始位置开始,包含与第一个数据范围相同大小和元素值(允许不同顺序)的序列。

数据范围通过迭代器指定。

注意:该函数不要求两个数据范围的大小相同,但只会比较第一个数据范围指定区间的元素。

实例

检测两个 vector 是否为排列组合关系:

vector<int> numbers = {1, 7, 3, 5, 9, 2};
vector<int> other = {9, 7, 5, 3, 2, 1};

if (is_permutation(numbers.begin(), numbers.end(), other.begin())) {
    cout << "找到排列组合";
} else {
    cout << "未找到排列组合";
}

亲自试一试

语法

is_permutation(iterator start, iterator end, iterator other);

参数

参数 描述
start 必需。指向第一个数据范围起始位置的迭代器。
end

必需。指向第一个数据范围结束位置的迭代器。

将检测到该位置之前的元素。

other 必需。指向第二个数据范围起始位置的迭代器。

技术细节

返回:

布尔值:

  • true - 如果第二个数据范围是第一个的排列组合
  • false - 如果不是排列组合关系

相关页面

教程:C++ 数据结构

教程:C++ 迭代器

教程:C++ 算法

教程:C++ 布尔值