全排列的遞歸算法(以此加深對遞歸的理解)

#include<iostream>
#include<algorithm>
using namespace std;
#define length 3
void permutation(char arr[],int idx,int size)
{
	if(size==0){
		for(int i=0;i<length;++i)
			cout<<arr[i];
		cout<<endl;
	}
	else
	{
		for(int j=0;j<size;++j){
			swap(arr[idx],arr[idx+j]);
			permutation(arr,idx+1,size-1);
			swap(arr[idx],arr[idx+j]);
		}
	}
}
int main()
{
	int size=length;
	char arr[length]={'a','b','c'};
	permutation(arr,0,size);
	return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章