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

在本地做的网站上传到空间之后_刷新就跳到本地的网址怎么办上海紫博蓝网站

在本地做的网站上传到空间之后_刷新就跳到本地的网址怎么办,上海紫博蓝网站,个人摄影网站模版,深圳做二维码网站设计顾得泉#xff1a;个人主页 个人专栏#xff1a;《Linux操作系统》 《C/C》 《LeedCode刷题》 键盘敲烂#xff0c;年薪百万#xff01; 全排序#xff08;Permutation#xff09;是指将一组元素按照一定的顺序进行排列的过程。在计算机科学中#xff0c;全排序是一… 顾得泉个人主页 个人专栏《Linux操作系统》  《C/C》  《LeedCode刷题》 键盘敲烂年薪百万 全排序Permutation是指将一组元素按照一定的顺序进行排列的过程。在计算机科学中全排序是一个经典的问题常用于解决排列组合、搜索和优化等领域的算法设计。 具体来说全排序是指对于给定的n个元素将它们按照不同的顺序进行排列得到所有可能的排列结果。例如对于3个元素{1, 2, 3}全排序的结果为{1, 2, 3}、{1, 3, 2}、{2, 1, 3}、{2, 3, 1}、{3, 1, 2}、{3, 2, 1}共6种排列方式。 一、C语言基础实现 在C语言中可以使用递归的方式来实现全排列。具体步骤如下 定义一个递归函数接受一个数组和两个整数作为参数。其中数组存储待排列的元素第一个整数表示当前排列的起始位置第二个整数表示当前排列的结束位置。当起始位置等于结束位置时表示已经完成了一种排列可以将当前排列输出。从起始位置开始依次将每个元素与起始位置交换并递归调用函数将起始位置后移一位。在递归调用结束后需要将交换过的元素还原回原来的位置以便进行下一次交换。重复步骤3和步骤4直到起始位置等于结束位置。 以下是使用递归方式实现全排序的示例代码 #include stdio.h// 交换两个元素的值 void swap(int* a, int* b) {int temp *a;*a *b;*b temp; }// 全排序递归函数 void permute(int* arr, int start, int end) {if (start end) {// 打印当前排列结果for (int i 0; i end; i) {printf(%d , arr[i]);}printf(\n);}else {for (int i start; i end; i) {// 交换第start个元素与第i个元素swap(arr[start], arr[i]);// 递归生成下一层排列permute(arr, start 1, end);// 恢复交换前的状态以便进行下一次交换swap(arr[start], arr[i]);}} }int main() {int arr[] { 1, 2, 3 };int n sizeof(arr) / sizeof(arr[0]);printf(全排序结果\n);permute(arr, 0, n - 1);return 0; } 运行以上代码将会输出全排序的结果 二、调用库函数实现  还有一种更便捷的实现方式就是使用C语言中的库函数next_permutation以下我用c进行库函数使用代码展示 #include iostream #include algorithm #include vector using namespace std; int main() {vectorint nums { 1, 2, 3 };// 对nums进行全排列cout 全排序结果 endl;do {for (int num : nums) {cout num ;}cout endl;} while (next_permutation(nums.begin(), nums.end()));return 0; } 运行以上代码将会输出全排序的结果 对比来说调用库函数结果相同并且对我们来说更容易实现相应操作所以大家赶快练起来。 三、实战演练 题目描述 人类终于登上了火星的土地并且见到了神秘的火星人。人类和火星人都无法理解对方的语言但是我们的科学家发明了一种用数字交流的方法。这种交流方法是这样的首先火星人把一个非常大的数字告诉人类科学家科学家破解这个数字的含义后再把一个很小的数字加到这个大数上面把结果告诉火星人作为人类的回答。 火星人用一种非常简单的方式来表示数字――掰手指。火星人只有一只手但这只手上有成千上万的手指这些手指排成一列分别编号为 1,2,3,⋯1,2,3,⋯。火星人的任意两根手指都能随意交换位置他们就是通过这方法计数的。 一个火星人用一个人类的手演示了如何用手指计数。如果把五根手指――拇指、食指、中指、无名指和小指分别编号为 1,2,3,41,2,3,4 和 55当它们按正常顺序排列时形成了 55 位数 1234512345当你交换无名指和小指的位置时会形成 55 位数 1235412354当你把五个手指的顺序完全颠倒时会形成 5432154321在所有能够形成的 120120 个 55 位数中1234512345 最小它表示 111235412354 第二小它表示 225432154321 最大它表示 120120。下表展示了只有 33 根手指时能够形成的 66 个 33 位数和它们代表的数字 三进制数代表的数字123123111321322221321333231231443123125532132166 现在你有幸成为了第一个和火星人交流的地球人。一个火星人会让你看他的手指科学家会告诉你要加上去的很小的数。你的任务是把火星人用手指表示的数与科学家告诉你的数相加并根据相加的结果改变火星人手指的排列顺序。输入数据保证这个结果不会超出火星人手指能表示的范围。 输入格式 共三行。         第一行一个正整数 N表示火星人手指的数目1≤N≤10000         第二行是一个正整数 M表示要加上去的小整数1≤M≤100         下一行是 1 到 N 这 N 个整数的一个排列用空格隔开表示火星人手指的排列顺序 输出格式 N 个整数表示改变后的火星人手指的排列顺序。每两个相邻的数中间用一个空格分开不能有多余的空格。 输入输出样例 输入 输出 参考代码 #includebits/stdc.h using namespace std; int n, m, arr[10001]; int main() {cin n m;for(int i 1; i n; i)cin arr[i];for(int i 1; i m; i)next_permutation(arr 1, arr 1 n);for(int i 1; i n; i)cout arr[i] ;cout arr[n];return 0; } 结语关于全排序的简单分享到这里就结束了希望本篇文章的分享会对大家的学习带来些许帮助如果大家有什么问题欢迎大家在评论区留言最后祝大家新的一年里学业有成天天开心~~~
http://www.dnsts.com.cn/news/129074.html

相关文章:

  • 做偏门网站镇江网站搜索引擎优化
  • 用书籍上的文章做网站SEO如何编写一个网页
  • 网站专业术语中seo意思是网站内部优化是什么意思
  • 如何制作公司网站邹平建设项目网站公示
  • 上海市建设工程检测行业协会网站动画设计思路怎么写
  • seo建站营销友链出售
  • 帮人做图挣外快的网站长春火车站停运了吗
  • 寿光网站建设价格网站建设 不违背
  • 营口大石桥网站建设网站开发技术人员
  • 遵义专业网站建设公司电话文山网站建设代理
  • 网站备案拍照好麻烦wordpress 前台登录插件
  • 镇江网站制作咨询wow313做宏的网站
  • 汽配网站源码上海有哪些做网站
  • ui设计网站设计与网页制作视频教程西安做网站培训
  • 昆明做网站找哪个公司好天猫商城入驻
  • 开源网站管理系统wordpress文章页调用
  • 京东网站设计特点齐齐哈尔市住房城乡建设门户网站
  • 阎良建设局 网站2023近期舆情热点事件
  • 网站建设与管理实训总结江苏城乡建设职业学院网站
  • 成都 网站建设培训竟标网站源码
  • 注册网站是哪个部门湖南网络工程职业技术学院
  • 网站建设与维护制作网页苏州有做网站的公司吗
  • 做网站要考虑哪些因素wordpress分页导航菜单
  • 温州知名网站动态图片在线制作
  • 塘厦镇网站仿做网站编辑怎么做内容分类
  • 有哪些网站系统施工企业质量管理体系应按照我国
  • 互联网网站建设水平互动网站欣赏
  • 电商网站设计多少钱正在直播足球比赛
  • 遵义网站开发的公司有哪些wordpress网站设密码
  • 网站建设对促进部门工作的益处给你一个网站怎么做