当前位置: 首页 > news >正文

joomla 网站建设教程西安seo服务外包

joomla 网站建设教程,西安seo服务外包,html5视频标签,燕郊seo1 问题 求字符串的全排列#xff0c;比如字符串abc#xff0c;它的全排列如下 abc, acb, bac, bca, cad, cba 2 思路 我们先固定第一个字符#xff0c;这里的第一个字符肯定是这个字符串里面字符串的全子集#xff08;不包含重复#xff09;#xff0c;abc字符串…1 问题 求字符串的全排列比如字符串abc它的全排列如下 abc, acb, bac, bca, cad, cba 2 思路 我们先固定第一个字符这里的第一个字符肯定是这个字符串里面字符串的全子集不包含重复abc字符串我们a和a交换这里也就是固定a字符的然后我们只需要求出后面bc字符的全排列这个时候我们可以用递归我们依然b和b进行交换c和c进行交换到了末尾我们递归就结束记得return.我们可以得出bc全排列的一种既bc,然后我们b和c需要交换位置变成了cb,然后我们b和b进行了一次交换然后我们可以得到bc全排列的一种既cb,所以固定a字符我们可以得到全排列字符串abc acb,所以依次类推我们可以固定b字符和c字符求出所以字符串的全排列 3 代码实现 c版本 #include iostream #include string #include vector #include algorithmusing namespace std;class Permutation{ private:void permutation(string str, int begin); public:vectorstring permutation(string str);vectorstring result; };vectorstring Permutation::permutation(string str) {if (str.length() 0){return result;}permutation(str, 0);sort(result.begin(), result.end()); return result; }void Permutation::permutation(string str, int begin) {if (begin str.length()){result.push_back(str);return;}for (int i begin; i str.length(); i){if (i ! begin str[i] str[begin])continue;//这里开始交换第一个元素和后面的元素也就是起到固定的作用swap(str[begin], str[i]);//递归后面的子字符串permutation(str, begin 1);//交换了要记得还原swap(str[i], str[begin]);} } int main() {Permutation h;h.permutation(abc);vectorstring result h.result;for(int i 0; i result.size(); i){std::cout result[i] std::endl; }return 0; }c版本 #include stdio.hvoid permutation(char *str); void permutation_core(char *str, char *begin);void permutation(char *str) {if (str NULL) {printf(str is NULL\n);return;}permutation_core(str, str); }void permutation_core(char *str, char *begin) {if (*begin \0){printf(%s\n, str);}else{for (char *ch begin; *ch ! \0; ch){char temp *ch;*ch *begin;*begin temp;permutation_core(str, begin 1);temp *ch;*ch *begin;*begin temp; }} } int main() {//这里不能用char *str adc,因为我们需要交换字符串里面的字符需要操作栈内存char str[] abc; permutation(str);return 0; }这样写如果有重复的字符就有问题比如ada,我们优化如下去掉重 #include stdio.h #include string.hvoid permutation(char *str); void swap(char *str, int start, int end); void permutation_core(char *str, int begin, int end);void permutation(char *str) {if (str NULL) {printf(str is NULL\n);return;}int len strlen(str);printf(len is %d\n, len);permutation_core(str, 0, len); }void permutation_core(char *str, int begin, int end) {if (begin end){printf(%s\n, str);}else{for (int i begin; i end; i) {if (i ! begin str[i] str[begin])continue;swap(str, i, begin);permutation_core(str, begin 1, end); swap(str, i, begin);}}}void swap(char str[], int start, int end) {char ch str[start];str[start] str[end];str[end] ch; }int main() {//这里不能用char *str adc,因为我们需要交换字符串里面的字符需要操作栈内存char str[] abc; permutation(str);return 0; }4 运行结果 c版本运行结果 abc acb bac bca cab cba c版本运行结果 abc acb bac bca cba cab
http://www.yutouwan.com/news/238826/

相关文章:

  • 贵阳做网站需要多少钱做网站界面尺寸是多少
  • 石景山网站建设制作公司广州软件系统开发seo推广
  • 珠宝出售网站模板家装公司名称
  • 网站开发与app开发的区别品牌设计案例
  • 大学生做社交网站有哪些网站整合营销建设
  • 如何查看网站开发者电子商务网站建设类论文
  • 网站建设企业集团公司网站开发
  • 全屏网站代码wordpress 当前位置
  • 为什么网站建设还要续费十大网络平台有哪些
  • 天津网站建设服务男科
  • 网站或站点的第一个网页龙岩做网站怎么做
  • 西安搬家公司收费价目表2021seo网站设计就业前景
  • 企业宣传册制作台州关键词优化服务
  • 济南网站建设0531soso建设企业网站下载
  • WordPress简单百度站长插件北京网站建设公司兴田德润实惠
  • 抚养网站建设网站建设 客户需求
  • 品牌网站建设 杭州郑州楼市最新消息
  • 美叶设计网站dw做了网站还可以做淘宝详情吗
  • 做网上水果网站的调查宁波江北建设局官方网站
  • 网站建设电子合同凯叔讲故事网站谁做的
  • 做网站推广运营前景服务器租用后怎么使用
  • 网站美工工作流程佛山公司推广优化
  • ui设计说明万能模板seo外包服务方案
  • 青海公司网站建设建设部网站 测绘规章
  • 网站建设软件哪个最好联盟网
  • 怎么通过域名做网站seo专员是什么职业岗位
  • 做搜狗网站快速排名软莱州网站开发
  • 婚庆公司赚钱吗网站推广优化联系方式
  • 旅游网站前台模板全国招商加盟网免费
  • 原生h5网站怎么做全屋定制十大名牌价目表