quanpailie.cpp

来自「求n个自然数的全排列」· C++ 代码 · 共 41 行

CPP
41
字号
#include<iostream>

using namespace std;

void Permute(int a[],int s,int n)
{
	int i,temp;
	
	if(s==n-1)
	{
		for(i=0;i<n;i++)
			cout<<a[i]<<"\t";
		cout<<endl;
	}
	else
		for(i=s;i<n;i++)
		{
			temp=a[i]; a[i]=a[s]; a[s]=temp;
		    Permute(a,s+1,n);
		    temp=a[i]; a[i]=a[s]; a[s]=temp;
		}
}



void main()
{   const int max=6;
	int a[max];
	int n;
	while(1)
	{
		cout<<"Input a number between 1 and "<<max<<": ";
		cin>>n;
		if((n>=1)&&(n<=max)) break;
	}
	for(int i=0 ;i<n; i++)
		a[i]=i+1;
	Permute(a,0,n);
	cout<<endl;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?