C++实现全排列

#include <iostream>
#include<vector>
#include<string>
#include <unordered_map>
#include <unordered_set>
#include <map>
#include <queue>
#include <algorithm>//算法头文件
#include <numeric>
#include <stack>
#include<typeinfo>
#include<regex>
#include<stdio.h>
#include <stdlib.h>
#include <crtdbg.h> 

#include <thread>
//#include<bits/stdc++.h>
using namespace std;

void Perm(int start, int end, vector<int>& arr);
int main()
{
	int n;
	cout << "请输入有多少个元素:";
	cin >> n;
	int a;
	vector<int> arr;
	for (int i = 0; i < n; i++)
	{
		cin >> a;
		arr.push_back(a);
	}
	Perm(0, n, arr);
	return 0;
}
void Perm(int start, int end, vector<int>& arr) //这里相当于递归算法,
{
	//道理start=end时,就相当于这次递归结束,找到了一个排列组合
	if (start == end)
	{
		for (int i = 0; i < end; i++)
全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务