算法:全排列

来源:互联网 发布:马兰币数据 编辑:程序博客网 时间:2024/05/21 06:57
void  getFullPerMutation(vector<string>&res, string&p,int begin)    {        int len = p.size();        if (begin >= len)        {            res.push_back(p);            return;        }        for (int i=begin;i<len;++i)        {            //if (i>begin&&i > 0 && p[i] == p[i - 1])continue;            swap(p[begin], p[i]);            getFullPerMutation(res, p, begin + 1);  //**begin+1**            swap(p[begin], p[i]);        }    }

上面这个算法采用的递归,注释的那行用来解决当原来序列存在相邻元素相同的情况,使用条件是原序列必先经过排序处理

0 0