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

枣庄做网站公司/站长素材官网

枣庄做网站公司,站长素材官网,设计师可以赚钱的网站,福建省闽侯县建设局网站以前是参考书上的来写的。现在自己再动手来写一遍,这样才能真正的把它吸收。 求N个字符的全排列问题其实很简单,比如ABCD,我们可以用递归的方法,每一层递归负责管理一个字符位置选什么。比如说第一层确定第一个位置的字符&#xf…

  以前是参考书上的来写的。现在自己再动手来写一遍,这样才能真正的把它吸收。

  求N个字符的全排列问题其实很简单,比如ABCD,我们可以用递归的方法,每一层递归负责管理一个字符位置选什么。比如说第一层确定第一个位置的字符:用for循环来不断的用后面的字符与第一位的交换,就可以得到不同的情况,而对于任何一种情况,又可以递归的下去。每一层都有个循环来控制对应位以及之后支付的交换即可。可能写得比较抽象,可以参考别人写的说明,因为我这是第二次写了。是用自己的理解去写的。如果再加上去除重复的话,那么就要添加一个函数,判断要交换的字符是不是和之前交换过的字符重复,重复的话就交换下一个。

代码:

//字符串ACB
//先确定第0位,若为A:ABC ACB
//               若为B:BAC BCA
//到下一层递归的时候,再确定第1位
#include <stdio.h>
#include <stdlib.h>void swap(char *str,int a, int b)
{char tmp = str[a];str[a] = str[b];str[b] = tmp;
}int repeat(char *str,int cnt,int a)
{//返回零表示存在相等,不用交换//返回1表示不存在相等,交换int i;for (i = cnt; i < a; i++){if (str[i] == str[a]){return 0;}}return 1;    }void permutaion(char *str,int n,int cnt)    
{//cnt是用来确定第cnt位置的位置该与//它后面的字符串逐个的变换位置int i,k;if (cnt == n - 1)    //函数出口
    {printf("%s\n",str);return;}else{for (i = cnt; i < n; i++)    //第cnt位置以及之前的位置都确定了,那么就依次把i的位置与第cnt的位置
        {if (repeat(str,cnt,i))    //若跟前面的相等,则不交换
            {swap(str,cnt,i);permutaion(str,n,cnt+1);swap(str,cnt,i);        //把位置换回来
            }}}
}int main()
{char *str;int n;scanf("%d",&n);str = (char *)malloc((n+1)*sizeof(char));scanf("%s",str);printf("The full permutaion is : \n");permutaion(str,n,0);return 0;
}2013/9/5    22:59

 

转载于:https://www.cnblogs.com/Jason-Damon/p/3304552.html

http://www.jmfq.cn/news/4877497.html

相关文章:

  • 这个网站中有网名做会计的吗 了解一下/网站快速排名互点软件
  • 自己如何开发一个小程序/seo推广怎么做
  • 网站设计公司/中国十大网站有哪些
  • win7如何安装iis来浏览asp网站/每天新闻早知道
  • 政府网站群四种建设模式/学生个人网页制作代码
  • 做企业网站接单/班级优化大师免费下载学生版
  • 火星建站和八亿建站/网站流量排名
  • 2020年注册公司流程和费用/常德seo快速排名
  • 哈尔滨网站建设可信赖/网络运营和网络营销的区别
  • 企业网站建设存在的问题及建议/百度手机助手下载免费安装
  • 偷网站源码直接建站/手机如何制作网站教程
  • 做网站月薪资多少钱/2024年的新闻时事热点论文
  • 做搜狗手机网站优化快/公司网络搭建
  • 鹤壁哪有做网站的/品牌建设的五个要素
  • 注册网站建设公司/企业策划书
  • 自助做网站傻瓜式自助建站工具/如何推广小程序平台
  • 长春朝阳网站建设/线上广告推广
  • 新昌网站制作/集客营销软件官方网站
  • 可以直接做ppt的网站/种子搜索神器 bt 下载
  • 有公司可以做网站升级ipv6/官方网站怎么注册
  • 手机网站营销方法/百度搜索量查询
  • 上海做公司网站的公司/百度竞价推广账户优化
  • 建筑模板怎么装/淄博网站seo
  • 告诉你做网站需要多少钱/免费推广方法
  • 域名打不开原来的网站/百度竞价开户
  • 网站分类主要有哪些/企业培训课程ppt
  • 国外html响应式网站模板/站长seo查询工具
  • 做企业网站需要服务器么/网站优化招商
  • 软考考试科目有哪些/宁波seo外包
  • 内蒙古手机网站制作/网页设计制作网站模板