字符串全排列

void AllSortCore(char *str,int begin,int end);
void AllSort(char *str)
{
    if(str == NULL)
        return ;
    int n = strlen(str);
    AllSortCore(str,0,n-1);
}

void AllSortCore(char *str,int begin,int end)
{
   if(end <=1)
        return ;
   if(begin == end)
    {
        cout<<str<<endl;
    }
    for(int j = begin;j<=end;++j)
    {
        swap(str[j],str[begin]);
        AllSortCore(str,begin+1,end);
        swap(str[j],str[begin]);
    }
}

 

posted @ 2018-11-24 19:27  执著的追求  阅读(150)  评论(0编辑  收藏  举报