全排列

#include<stdio.h>
#include<stdlib.h>

void swap(char* str,int i,int j){
	while(i<j){
		char tmp=str[i];
		str[i]=str[j];
		str[j]=tmp;
		i++,j--;
	}
}
void permutation(char* str,int len){
	if(str==NULL||len<=0) return;
	if(len==1){
		printf("%s\n",str);
		return;
	}
	for(int i=0;i<len;i++){
		swap(str,i,len-1);
		permutation(str,len-1);
		swap(str,i,len-1);
	}
}

int main(){
	char str[]="abcd";
	permutation(str,4);
	system("pause");	
	return 0;
}

你可能感兴趣的:(全排列)