在C++中,可以使用next_permutation
函數來生成下一個排列。該函數位于
下面是一個簡單的示例,演示如何使用next_permutation
函數:
#include <iostream>
#include <algorithm>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3};
// 輸出初始排列
std::cout << "初始排列:";
for (int num : vec) {
std::cout << num << " ";
}
std::cout << std::endl;
// 生成下一個排列
while (std::next_permutation(vec.begin(), vec.end())) {
// 輸出下一個排列
std::cout << "下一個排列:";
for (int num : vec) {
std::cout << num << " ";
}
std::cout << std::endl;
}
return 0;
}
在上面的示例中,首先創建了一個包含1、2、3的vector,并輸出了初始排列。然后使用next_permutation
函數生成下一個排列,并在每次生成新的排列后輸出。最終將會輸出所有可能的排列。
需要注意的是,next_permutation
函數會改變原始的范圍內容,因此在使用前需要將原始范圍內容備份或拷貝。