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

用vs2010做网站教程营销推广平台

用vs2010做网站教程,营销推广平台,上海松江区网站建设公司,网页设计与制作期末作业成品题目如下 dfs做法 全局变量 used:一个布尔类型的vector,用于标记数字是否已经在当前排列中使用过。used[i]为true表示数字i已经被使用,为false表示未被使用。 permutation:一个整数类型的vector,用于存储当前正在生成…

题目如下

 dfs做法

 全局变量

used:一个布尔类型的vector,用于标记数字是否已经在当前排列中使用过。used[i]为true表示数字i已经被使用,为false表示未被使用。

permutation:一个整数类型的vector,用于存储当前正在生成的全排列。

dfs函数:

递归终止条件:当permutation的大小等于n时,说明已经生成了一个完整的全排列,此时遍历permutation并按照每个数字保留5个场宽的格式输出该排列,然后返回。

递归过程:遍历从1到n的数字,如果某个数字i未被使用(即used[i]为false),则将其标记为已使用(used[i] = true),加入到当前排列中(permutation.push_back(i)),然后递归调用dfs继续生成下一个数字。递归返回后,进行回溯操作,将刚才加入的数字从排列中移除(permutation.pop_back()),并将其标记为未使用(used[i] = false),以便在后续的循环中可以再次使用该数字。

main函数:

读取输入的整数n。

初始化used数组,将所有元素设置为false,表示所有数字都未被使用。

调用dfs函数开始生成全排列。

 

库函数方法(next_permutation)更为方便

 解释

next_permutation函数:
它是 C++ 标准库<algorithm>头文件中的一个函数,用于生成给定序列的下一个字典序排列。
函数接受两个迭代器参数,nums.begin() 和 nums.end(),这两个迭代器指定了要进行全排列操作的序列范围,即[nums.begin(), nums.end())(左闭右开区间)。
该函数的工作原理是:首先从序列的末尾向前查找,找到第一个满足*(i - 1) < *i 的位置i - 1;然后再从序列末尾向前查找,找到第一个大于*(i - 1) 的元素*j;接着交换*(i - 1) 和*j;最后将位置i 及其之后的元素进行反转,从而得到下一个字典序排列。
next_permutation函数的返回值是一个布尔值:如果存在下一个排列(即成功生成了下一个字典序排列),则返回true;如果当前排列已经是字典序最大的排列(不存在下一个排列),则返回false。
while循环:
while循环的条件是next_permutation(nums.begin(), nums.end()),即只要next_permutation函数返回true(表示成功生成了下一个排列),就会继续执行循环体中的代码。
在循环体中,通常会对生成的新排列进行一些处理,比如输出排列中的元素。在前面生成全排列的代码示例中,循环体内部的代码用于遍历并输出当前排列中的每个数字,每个数字保留 5 个场宽。
当next_permutation函数返回false时,说明已经遍历完了所有可能的排列(当前排列是字典序最大的排列),此时while循环结束。
综上所述,while (next_permutation(nums.begin(), nums.end())) 这行代码的作用是不断调用next_permutation函数生成序列nums 的下一个字典序排列,并在每次成功生成新排列后执行循环体中的代码,直到遍历完所有可能的排列为止。

http://www.dtcms.com/wzjs/403852.html

相关文章:

  • 黄山网站建设中国十大it培训机构排名
  • 专业网站建设费用科学新概念seo外链
  • 门户网站建设思维导图手游推广平台有哪些
  • 用java做网站好吗新闻发稿渠道
  • 网站流量统计分析的维度包括世界企业排名500强
  • 网站内容填写路由器优化大师
  • 自制手机网站疫情最严重的三个省
  • 长沙seo网站建设袁飞最好百度推广公司电话
  • 工信部网站黑名单查询最近10条重大新闻
  • 好看的公司网站排版设计软文代写平台
  • wordpress没有票编辑器凌哥seo技术博客
  • 做新网站推广的活动济南今日头条最新消息
  • 网站开发技术简介dw新东方在线教育平台官网
  • 敦煌网的网站推广方式百度下载app安装
  • 备案网站公共查询新闻小学生摘抄
  • 外国设计网站seo资源
  • 网站上的图片带店面是怎么做的写软文用什么软件
  • 襄阳哪里有做网站的百度注册新账号
  • 手机做网站自己做超级优化
  • 贵阳网站建设企业网站优化排名易下拉效率
  • 个人建站建设新型网络营销方式
  • 镇平做网站国际军事新闻最新消息今天
  • 布谷海南网站建设常用的网络推广手段有哪些
  • 网站开发授权书网络推广工作内容
  • 免费搭建手机网站seo关键词分析表
  • wordpress静态文件放到cdn济南新站seo外包
  • 长春快速建站优化关键词排名优化公司
  • 市政府网站集约化建设难点厦门百度seo点击软件
  • 做网站首页的尺寸seo需要培训才能找到工作吗
  • 免费下载公司宣传册设计样本深圳百度关键字优化