【剑指offer】字符串全排列(递归)

1.递归
#include<iostream>
using namespace std;

void swap(char* a,char* b){
	char temp = *a;
	*a=*b;
	*b=temp;
}

void Permutation(char* pStr, char* pBegin)
{
    if(*pBegin == '\0'){
        cout<<pStr<<endl;}
    else{
        for(char* pCh = pBegin; *pCh != '\0'; ++ pCh){
            swap(pCh,pBegin);
            Permutation(pStr, pBegin + 1);
            swap(pCh,pBegin);
        }
    }
}

int main(){
    char string4[] = "abc";
    char* pStr=string4;
    if(pStr == NULL)
	    return 0;
    Permutation(pStr,pStr);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/yiyao8236/article/details/80170443