字符串全排列

给定字符串, 输出或统计全排列个数. 并去重

void judge(char* p, char* P1){
    while(p<p1){
        if(*p==*p1)
            return true;
    }
    return false;
}

void permutation(char* orig, char* ind_cur){
    if(*ind_cur=='\0')
        cout<<orig<<endl;
    else{
        for(char* p=ind_cur;p!='\0';p++){
            if(judge(ind_cur, p))
                continue;
            char temp = *p;
            *p=*ind_cur;
            *ind_cur=temp;
            permutation(orig, ind_cur+1);
            temp=*p;
            *p=*ind_cur;
            *ind_cur=temp;
        }
    }
}

void permutation(char* str){
    if(str==nullptr)
        return;
    permutation(str,str);
}