C++:全排列

版权声明:转载请注明出处 https://blog.csdn.net/warmeyes/article/details/86499670
#include<cstdio>

const int num = 100;

int hashtable[num];
int complete[num];
int n;

void make(int number)
{
    if(number == n+1)
    {
        for(int i = 1; i <= n; i++)
        {
            printf("%d",complete[i]);
        }
        printf("\n");
        return;
    }
    for(int i = 1; i <= n; i++)
    {
        if(hashtable[i] == false)
        {
            complete[number] = i;
            hashtable[i] = true;
            make(number + 1);
            hashtable[i] = false;
        }
    }
}

int main()
{
    scanf("%d",&n);
    make(1);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/warmeyes/article/details/86499670