// 穷举法增量全排列李春葆85页.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <iostream>
#include<vector>
using namespace std;
vector<vector<int>> perm1(vector<vector<int>>& pm,int n)
{
pm = { {1} };
for (int i = 2; i <= n; i++)
{
vector<vector<int>> pm1 = pm;
pm.clear();
for (auto it = pm1.begin(); it != pm1.end(); it++)
{
vector<int> e= *it;
for (int j = e.size(); j >= 0; j--)
{
vector<int> e1 = e;
auto it = e1.begin() + j;
e1.insert(it,i);
pm.push_back(e1);
}
}
}
return pm;
}
int main()
{
vector<vector<int>> pm;
perm1(pm,3);
//cout << pm.size();
for (auto it=pm.begin(); it != pm.end(); it++)
{
vector<int> e = *it;
for (int j = 0; j < e.size(); j++)
cout << e[j] << " ";
cout << endl;
}
std::cout << "Hello World!\n";
}
穷举增量全排列
最新推荐文章于 2024-11-24 09:11:05 发布
752

被折叠的 条评论
为什么被折叠?



