现成函数的全排列

#include <iostream>
#include <algorithm> /// next_permutation, sort里卖弄包括两个函数,桉顺序获得下一个要排列的数,也可以自己写一个泪时的函数。。
using namespace std;
int main () {
char myints[1005];
int n,i;while(cin>>myints)
{n=strlen(myints);
sort (myints,myints+n);

do {
for(i=0;i<n;i++)
cout<<myints[i];cout<<endl;
} while ( next_permutation(myints,myints+n) ); ///获取下一个较大字典序排列
}
return 0;
}

时间: 2024-10-07 18:49:21

现成函数的全排列的相关文章

next_permutation函数 (生成全排列)

这是一个求一个排序的下一个排列的函数,可以遍历全排列,要包含头文件<algorithm>下面是以前的笔记    与之完全相反的函数还有prev_permutation  (1) int 类型的next_permutation int main(){ int a[3];a[0]=1;a[1]=2;a[2]=3; do{cout<<a[0]<<" "<<a[1]<<" "<<a[2]<<

用现成函数进行二分查找

2017-07-17 12:00:12 writer:pprp 题目:找到你想要的数的 代码如下: #include <iostream> #include <algorithm> using namespace std; int main() { //test int n ; int a[10000]; cin >> n ; for(int i = 0 ; i < n ; i ++) { cin >> a[i]; } sort(a,a+n); for

Num 33 : 函数递归 [ 全排列 ]

数学上的全排列问题: 给定m个数,可以排列成n位数的所有情况: 例:3 个数 ( 1,2,3 ) 排列成两位数[ 含有重复数字 ]有: 11,12 ,13,21,22,23,31,32,33: 例:2个数( 1,2 ) 排列成三位数: 111, 112, 121, 122, 211, 212, 221, 222: 由上易找到规律:         对于 n 位 m 个要求的数 [ 不妨设为1,2,3的 2位数 ],我们只需从最高位开始,依次冠以第一个数( 11 );         之后保持高位

搜索入门练习题2 全排列 题解

题目出处:课程=>搜索1=>题目A 题目描述 给定一个正整数 \(n\) ,按照递增顺序打印数字 \(1\) 到 \(n\) 的所有排列. 输入格式 一个整数 \(n(1 \le n \le 7)\) . 输出格式 按照递增顺序输出 \(n\) 个数的所有排列,每行代表一组排列, \(n\) 个数两两之间有一个空格分隔. 样例输入 3 样例输出 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 问题分析 这是一道搜索的题目. 我们知道搜索就是状态到状态之间的转换,其本质是

JavaScript中的普通函数与构造函数比较

问题 什么是构造函数?构造函数与普通函数区别是什么?用new关键字的时候到底做了什么?构造函数有返回值怎么办?构造函数能当普通函数调用吗? thisthis永远指向当前正在被执行的函数或方法的owner.例如: 1 2 3 4 5 function test(){   console.log(this); } test(); //Window {top: Window, window: Window, location: Location, external: Object, chrome: O

PHP使用array_intersect()函数求数组交集

在PHP中求数组的交集,我们可以与PHP给我们提供的现成函数:array_intersect(),其用法格式为: array array_intersect(array array1,array array2[,arrayN…]) 根据上述的语法格式,我们来写一个例子: <?php $fruit1 = array("Apple","Banana","Orange"); $fruit2 = array("Pear",&qu

【LeetCode】046. Permutations

题目: Given a collection of distinct numbers, return all possible permutations. For example,[1,2,3] have the following permutations: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ] 题解: 之前解过Next Permutation,故这个题可以重复调用nextPermutation函数产生全排列 Solu

linux下的守护进程daemon

什么是守护进程?其实感觉守护进程并没有什么明确的定义,只是守护进程有一些特征,这是它需要遵循的. 守护进程的第一个特征是长时间在后台运行的程序,并且主要是为了提供某种服务,而为了能够让服务尽可能随时都可用,就要求这个服务是一直运行的,于是守护进程就守护着这个服务不挂掉.linux里面常见的守护进程一般都是以d结尾的,比如apache的httpd,samba的smbd,ssh的sshd. 它的第二个特征是与启动它的进程的环境隔离,包括关闭它打开的所有文件描述符,终端,会话,进程组,某些环境变量(如

OpenGL入门学习

说起编程作图,大概还有很多人想起TC的#include <graphics.h>吧? 但是各位是否想过,那些画面绚丽的PC游戏是如何编写出来的?就靠TC那可怜的640*480分辨率.16色来做吗?显然是不行的. 本帖的目的是让大家放弃TC的老旧图形接口,让大家接触一些新事物. OpenGL作为当前主流的图形API之一,它在一些场合具有比DirectX更优越的特性. 1.与C语言紧密结合. OpenGL命令最初就是用C语言函数来进行描述的,对于学习过C语言的人来讲,OpenGL是容易理解和学习的