33,028
社区成员
发帖
与我相关
我的任务
分享void SwapChar(char* p, unsigned int i, unsigned int j)
{
char t = p[i];
p[i] = p[j];
p[j] = t;
}
void Perm(char* p, unsigned int uStart, unsigned int uNum)
{
if(uStart == uNum-1)
{
printf("%s\n", p);
}
else
{
for(unsigned int i=uStart; i<uNum; i++)
{
SwapChar(p, uStart, i);
Perm(p, i+1, uNum);
SwapChar(p, uStart, i);
}
}
}
int _tmain(int argc, _TCHAR* argv[])
{
char charBuf[5] = "abcd";
Perm(charBuf, 0, 4);
return 0;
}char p[N];
sort(p, p+N);
do
{
copy( p, p+N, ostream_iterator<char>(cout, ' ' ) );
cout << "\n";
}
while(next_permutation(p, p+N) );