中山营销型网站建设,银行网站建设前期合同,网站图片加载优化,制作网页网站费用属于资本性支出吗思路 (1)对于含有重复字符的全排列必须使用isSwap函数 (2)整体思路 a,交换当前子字符串(i----n-1)字符与子字符串后面的每一个位置的字符#xff08;满足交换条件下#xff09; b,子字符串位置后移(i1-----n)。递归处理子字符串 c,将a中的交换复原。 代码 #in… 思路 (1)对于含有重复字符的全排列必须使用isSwap函数 (2)整体思路 a,交换当前子字符串(i----n-1)字符与子字符串后面的每一个位置的字符满足交换条件下 b,子字符串位置后移(i1-----n)。递归处理子字符串 c,将a中的交换复原。 代码 #include iostream
#includestring
using namespace std;
void swap(char a,char b){//交换char tempa;ab;btemp;
}
//***************************判断是否交换**********************************************************//
//当前需要交换的位置为m, 被交换的字符位置为n ,则s[n]应该异于s[m]---s[n-1]之间的任意一个字符
bool isSwap(string s,int m,int n){for(int im;in;i)if(s[i]s[n])return false;return true;
}//递归全排列
void permute(string s,int n){if(n1s.length()){coutsendl;return;}permute(s,n1);char temp;for(int in1;is.length();i){if(isSwap(s,n,i)){swap(s[n],s[i]);permute(s,n1);swap(s[n],s[i]);}}
}
void main(){string s(12233);permute(s,0);
} 转载于:https://www.cnblogs.com/engineerLF/p/5392960.html