Perm()函数功能:

Perm函数的功能是将传递过来的数组的后size - N 位进行全排列,将排列的每一组数都输出。


代码实现:

#include<iostream>
#include<String>
using namespace std;
void Perm(int* array, int size, int N)    //全排列
{if (N == size) {for (int i = 0; i < size; ++i)cout << array[i];cout << "   ";}else{for (int i = N; i < size; ++i){swap(array[i], array[N]);Perm(array, size, N + 1);swap(array[i], array[N]);}}
}
int main()
{int arr[5] = { 1, 2, 3, 4, 5 };Perm(arr, 5, 3);return 0;
}

输出:

时间复杂度:

时间复杂度为 : O(n!)
Perm函数是一个递归函数,它的作用是对数组的后size-N 位进行全排列,缺点是时间复杂度高。

分析Perm()函数功能、代码、时间复杂度相关推荐

  1. python函数是一段具有特定功能的语句组_Python学习笔记(五)函数和代码复用

    本文将为您描述Python学习笔记(五)函数和代码复用,具体完成步骤: 函数能提高应用的模块性,和代码的重复利用率.在很多高级语言中,都可以使用函数实现多种功能.在之前的学习中,相信你已经知道Pyth ...

  2. [7]深入浅出工作开源框架Camunda: camunda-webapp 用户登录功能代码分析

    在上个章节<[6]深入浅出工作开源框架Camunda: 如何远程Debug camunda-webapp的源代码>笔者解释了如何进行Camunda的远程Debug,这个章节笔者给大家分享如 ...

  3. python中cos函数_Python代码中cos()函数有什么功能呢?

    摘要: 下文讲述Python代码中cos()函数的简介说明,如下所示: cos()函数功能 用于计算出x 弧度-所对应的的余弦值 cos()函数语法 math.cos(x) ---------参数说明 ...

  4. Qt5.10实现图片转文字功能添加截图功能代码分析

    继续更新之前的图片转文字功能,并添加截图功能代码. 这里我仅仅只是先截取全屏图片,点击截图功能就可以将屏幕截图.后续功能待完善. 我们来分析一下,这个是怎么实现的. 源码下载地址:ocr2019121 ...

  5. c语言字符串连接作用,C语言 不使用strcat函数实现连接两个字符串功能代码

    字符串连接函数: 字符串连接就是将一个字符串连接到另一个字符串的末尾,使其组合成一个新的字符串,在字符串处理函数中,strcat  函数具有字符串连接功能.下面是用C语言实现不使用是strcat 函数 ...

  6. c语言字体移动函数,C语言字符函数、内存函数功能及实现代码

    C语言字符函数.内存函数 功能及实现 strlen函数(求字符串长度)注意点模拟实现 strcpy函数(字符串拷贝函数)注意点模拟实现 strcat函数(字符串衔接函数)注意点模拟实现 strcmp函 ...

  7. android锁屏代码分析,Android 监听锁屏、解锁、开屏 功能代码

    1.首先定义 ScreenListener package com.app.lib; import android.content.BroadcastReceiver; import android. ...

  8. React.js 小书 Lesson27 - 实战分析:评论功能(六)

    React.js 小书 Lesson27 - 实战分析:评论功能(六) 本文作者:胡子大哈 本文原文:http://huziketang.com/books/react/lesson27 转载请注明出 ...

  9. (48)逆向分析 KiFastCallEntry 函数填充 _KTRAP_FRAME 部分

    一.回顾 上一篇博客我逆向了 KiSystemService 函数填充 _KTRAP_FRAME 部分. 逆向分析 KiSystemService 函数填充 _KTRAP_FRAME 部分 里面涉及了 ...

最新文章

  1. es6 promise
  2. 【ArcGIS 10.2新特性】Geodatabase 10.2 常见问题
  3. 已知三个用不同数制表示的整数_数制的概念与常用的数制之间的转换。大学生必看!...
  4. leetcode 794. Valid Tic-Tac-Toe State | 794. 有效的井字游戏(Java)
  5. linux内核博大精深,Linux Kernel里的cpu_to_le32是干啥的?
  6. 小巧数据库 Apache Derby 使用攻略
  7. PThread 学习笔记
  8. python能做什么-揭秘python都能做什么?
  9. PowerShell 远程连接与其它技巧
  10. cetnos6.4 基础版安装
  11. 【 Codeforces Round #301 (Div. 2) D】Bad Luck Island【概率DP】
  12. c语言产品信息管理课程设计,商品信息管理系统(C语言课程设计).doc
  13. InstallShield 使用说明
  14. java lame_音视频编解码——LAME
  15. 电子签名如何制作——word
  16. html5用语义元素做旅游网站,HTML5语义元素
  17. 清华大学五道口金融学院2023年博士生招生简章(普博+直博)
  18. 道翰天琼认知智能为您解密:Rust语言杀疯了!前有谷歌高薪争夺 Rust 人才,Facebook再官宣加入Rust基金会 「自2016年以来,Facebook 就已开始使用 Rust,并应用在开发
  19. html下拉菜单换背景颜色,如何在select框下拉菜单中更改蓝色突出显示的颜色
  20. java Lambda表达式详解

热门文章

  1. leetcode和牛客网刷题
  2. SqlHelper的使用
  3. telnet不是内部或者外部命令也不是可运行的程序
  4. LVS的Tun模式(隧道模式)的实现
  5. Starrocks集群部署
  6. 腾讯云windos服务器如何迁移?
  7. 腾讯云服务器使用中遇到的问题
  8. thymleaf 使用三目运算多个条件判断的写法
  9. Ubuntu中文输入法fcitx的配置与使用
  10. SQLServer数据库开发