数组全排列C++实现代码

    void full_permutation(vector a, int index)
    {
        if (index == a.size() - 1)
        {
            for (int i = 1; i <= a.size(); i++)
            {
                cout << a[i];
            }
            cout << endl;
        }
        else
        {
            for (int i = index; i < a.size(); i++)
            {
                swap(a[i], a[index]);           //对应图一abc的第一次访问
                full_permutation(a, index + 1); //对应图一step2,step4
                swap(a[i], a[index]);           //对应图一abc的第二次访问
            }
        }
    }

 

你可能感兴趣的:(大厂笔试,C语言,算法,算法数据结构)