首先来看一下关于全排列的思想,很明显就是一个递归问题,后面的数是前面没有出现过的数即可。

具体代码如下:

#include<iostream>
using namespace std;
const int maxn=11;
int n,P[maxn],hashTable[maxn]={false};//用P去存数字,hahTable去检验一个数字是否已经出现过;
void generateP(int index)
{if(index == n+1){         //递归边界,已经处理好1-n for(int i=1;i<=n;i++){cout<<P[i];       //输出即可 }cout<<endl;return;} for(int x=1;x<=n;x++){if(hashTable[x] == false){         //若是false,则代表x还没用 P[index]=x;hashTable[x]=true;generateP(index+1);          //最精华的一步,递归下一位; hashTable[x] = false;//最后将下次要用的全部清掉,方便使用; }}
}    int main()
{n=3;generateP(1);return 0;
} 

打印之后是一到三的全排列,若有其他需要可在主函数直接更改;

胡凡算法之——全排列问题相关推荐

  1. [code] PTA 胡凡算法笔记 DAY003

    文章目录 前言 题目 B1001 害死人不偿命的(3n+1猜想) B1002 写出这个数[误刷] B1011 A+B和C B1016 部分A+B B1026 程序运行时间 小结 前言 之前为了准备PT ...

  2. 胡凡算法之——快速幂

    关于快速幂的两种方法: 1.递归算法:只要掌握一个精髓: 递归相对来说比较好理解:代码如下: typedef long long LL; //求a^b % m ,递归写法:LL binaryPow(L ...

  3. [code] 胡凡算法笔记 DAY004

    文章目录 题目 B1046 B1008 B1012 小结 题目 B1046 题意解读 如题平局不计分,猜对对方记一分. 思路 就是简单的按规则来,平局不计分.猜对了给对方积一分. Code in C+ ...

  4. 胡凡算法笔记第二章摘录

    目录 2.2顺序结构 2.3选择结构 2.4循环结构 2.5数组 2.6函数 2.7指针 2.8结构体 2.9 补充 2.10 黑盒测试 2.2顺序结构 1.开方sqrt 平方pow 计算e的x次方e ...

  5. [code] PTA 胡凡算法笔记 DAY005

    文章目录 题目 B1018 题目 A1042 小结 周五刷了一个小时结果只刷了一题多一点,时间也有点晚了,blog就没更新.然后周六继续周五没完成的,看了一下逻辑有点混乱没继续. 题目 B1018 题 ...

  6. [code] PTA 胡凡算法笔记 DAY028

    文章目录 题目A1037 Magic Coupon 题目A1067 Sort with Swap(0, i) 小结 题目A1037 Magic Coupon 题意 根据输入的奖券和产品情况,计算出能获 ...

  7. [code] PTA 胡凡算法笔记 DAY006

    文章目录 题目 A1046 题目 A1065 小结 题目 A1046 题意 简单的环,计算最小距离.这里要注意不要暴力超时. 思路 这里我开始的暴力方法导致超时了,然后看解析,这里的做法主要是先将结果 ...

  8. [code] PTA胡凡算法笔记 DAY016

    文章目录 题目A1035 Password 题目A1077 Kuchiguse 题目A1082 Read Number in Chinese 小结 题目A1035 Password 题意 将输入密码中 ...

  9. 胡凡 《算法笔记》 上机实战训练指南 3.1 简单模拟

    胡凡 <算法笔记> 上机实战训练指南 3.1 持续更新中 , 菜鸡的刷题笔记- 大学到现在了还没咋好好刷过题,该push自己了- 文章目录 胡凡 <算法笔记> 上机实战训练指南 ...

最新文章

  1. [Windows]ping itsafe环境变量
  2. 两难!到底用 Spring BeanUtils 还是 Apache BeanUtils?
  3. RAID冗余技术的介绍AND实现
  4. linux 命令行 解密,解密Linux终端命令 学好Linux
  5. sort降序shell_排序之希尔排序(shell sort)
  6. 怎么更改wifi频段_手机wifi延迟高怎么办
  7. IDC:安全性、价格和低复杂性是企业采用SD-WAN的主要动因
  8. 20200926:(leetcode207周周赛题解(上))
  9. web.xml 总结
  10. Illustrator 教程,如何在 Ai 中创建一个新文档?
  11. 《算法第四版》环境搭建
  12. html设置表格列宽百 分比,WPS解决实现单页显示 高分辨率显示器百分之百比例下双页改单页方法...
  13. 如何用软件测试固态颗粒,【英睿达 BX500固态硬盘使用总结】颗粒|读写速度|写入测试|建议_摘要频道_什么值得买...
  14. 玩转Redis-8种数据淘汰策略及近似LRU、LFU原理
  15. 阿里云数据库设置ip白名单连接正式库详细步骤
  16. 玩吧公司,入职后的真实感受
  17. 全景图转换为天空盒图
  18. [精简]托福核心词汇29
  19. 独上高楼 望尽天涯路
  20. exit()和_exit()两个函数的区别

热门文章

  1. 网络运维工程师 ,需要掌握知识的总结。
  2. EAX、ECX、EDX、EBX寄存器的作用
  3. spotify歌曲下载_如何像真正的DJ一样让Spotify在歌曲之间进行淡入淡出
  4. PHP基础知识【大纲】
  5. 基于51,人体红外感应和RC522的门禁系统
  6. 【数据库内核】数据库核心技术演进之路
  7. 解决_使用大白菜软件安装纯净版win有预装软件的问题
  8. Too many re-renders. React limits the number of renderers to prevent an infinite loop...
  9. 谷歌浏览器设置打开新标签页为指定网页?
  10. CSS3 自定义动画(animation)