全排列函数(next_permutation)
2024-08-24 03:17:33
顾名思义,这个函数就是用来求数组的全排列的,至于怎么用,看下面的介绍:
这是一个c++函数,包含在头文件algorithm里面,这个函数可以从当前的数组的大小按照字典序逐个递增的顺序排列
看下面的模板
int a[];
do
{ }while(next_permutation);
下面代码可以输出1~n的全排列
#include <stdio.h>
#include <algorithm>
using namespace std;
int main(){
int n;
while(scanf("%d",&n)&&n){
int a[];
for(int i=;i<n;i++){
scanf("%d",&a[i]);
}
sort(a,a+n);//可以自行测试一下删除后的结果
do{
for(int i=;i<n;i++)
printf("%d ",a[i]);
printf("\n");
}while(next_permutation(a,a+n));
}
return ;
}
上面代码有一个sort,但是如果没有的话,只会出现从当前的大小按字典序逐个增加的排序
最新文章
- Mac 下使用homebrew 安装node后全局安装找不到问题
- csharp: ODP.NET,System.Data.OracleClient(.net 4.0) and System.Data.OleDb读取Oracle g 11.2.0的区别
- MySQL2:四种MySQL存储引擎
- js中的全局变量和静态变量的使用, js 的调试?- 如果js出错, js引擎 就会停止, 这会 导致 后面的 html中 refer 该函数时, 会报错 函数为定义!!
- objective-c可变数组
- oracle中rownum和rowid的区别
- 使用Nginx和Logstash以及kafka来实现网站日志采集的详细步骤和过程
- 推荐安卓开发神器(里面有各种UI特效和实例)
- mybatis include标签
- 数据库安全之TDE列加密
- SpriteBuilder实现2D精灵光影明暗反射效果(一)
- iis问题
- 关于Django的网页编写
- defer、return、返回值,这三者的执行逻辑
- VS2019预览版发布了
- fetch请求
- [MySQL 5.6] information_schema.innodb_metrics
- SQL SERVER的锁机制(三)——概述(锁与事务隔离级别)
- 【笔记】《深入浅出MFC》第6章 MFC程序的生死因果
- Burp Suite插件推荐