stl的全排列:

看代码。

 #include<iostream>
#include<cstdio>
#include<algorithm>
#include<string>
#include<cstring>
using namespace std;
int n,a[];
int main()
{
scanf("%d",&n);
for(int i=;i<=n;++i) a[i]=i;
while(next_permutation(a+,a+n+))//下一个全排列函数
{
for(int i=;i<=n;++i)
cout<<a[i]<<" ";
cout<<endl;
}//prev_permutation(a+1,a+n) <-上一个全排列函数
return ;
}

=============================================================================、

unique() 去重函数:
STL中unique的函数 unique的功能是去除相邻的重复元素(只保留一个),

还有一个容易忽视的特性是它并不真正把重复的元素删除。

使用时头文件要加#include<iostream>。

因为unique去除的是相邻的重复元素,所以一般用之前都会要排一下序

具体用法如下:

 #include<cstdio>
#include<iostream>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
const int MAXN=;
int a[MAXN];
int main()
{
int N;
while(scanf("%d",&N)!=EOF)
{
for(int i=;i<=N;i++)scanf("%d",&a[i]);
sort(a+,a+N+);
int k=unique(a+,a+N+)-a;
printf("k=%d\n",k);
for(int i=;i<=N;i++)
printf("%d ",a[i]),puts("");
}
return ;
}

(๑′ᴗ‵๑)I Lᵒᵛᵉᵧₒᵤ❤。

unique && stl的全排列的更多相关文章

  1. 组合数学 + STL --- 利用STL生成全排列

    Ignatius and the Princess II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K ( ...

  2. 【STL】全排列生成算法:next_permutation

    C++/STL中定义的next_permutation和prev_permutation函数是非常灵活且高效的一种方法,它被广泛的应用于为指定序列生成不同的排列. next_permutation函数 ...

  3. STL之全排列

    描述 使用STL中的next_permutation函数输出一个序列的全排列. 部分代码已经给出,请补充完整,提交时请勿包含已经给出的代码. int main() { vector<int> ...

  4. unique STL讲解和模板

    unique()是C++标准库函数里面的函数,其功能是去除相邻的重复元素(只保留一个),所以使用前需要对数组进行排序. 代码: #include<bits/stdc++.h> using ...

  5. STL - next_permutation 全排列函数

    学习: http://blog.sina.com.cn/s/blog_9f7ea4390101101u.html http://blog.csdn.net/ac_gibson/article/deta ...

  6. stl 生产全排列 next_permutation

    #include<stdio.h>#include<algorithm>using namespace std;int main(){ int n,p[10]; scanf(& ...

  7. STL next_permutation 全排列

    调用方法: ]={,,,}; )){ ;i<;i++) printf("%d ",arr[i]); puts(""); } 测试效果: 注:可以看到1 2 ...

  8. codevs 1229 数字游戏(可重集的全排列)

    传送门 Description Lele 最近上课的时候都很无聊,所以他发明了一个数字游戏来打发时间.  这个游戏是这样的,首先,他拿出几张纸片,分别写上0到9之间的任意数字(可重复写某个数字),然后 ...

  9. 力扣Leetcode 46. 全排列

    全排列 给定一个 没有重复 数字的序列,返回其所有可能的全排列. 示例: 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], ...

随机推荐

  1. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_02 递归_3_练习_使用递归计算阶乘

    结束条件是乘到 当前数字等于1

  2. 测开之路一百零二:jquery元素操作

    jquery对元素操作,获取/替换文本(.text()).html(.html()).属性(.attr()).值(.val()) html代码 text() 根据标签获取文本值 同一个标签下筛选明细 ...

  3. 【ABAP系列】SAP ABAP WRITE字段隐藏的方法

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 字段隐藏的方法 ...

  4. layui基本使用(动态获取数据,并把需要的数据传到新打开的窗口)

    <div class="xiaoxi">\n' + ' <div class="layui-row">\n' + ' <input ...

  5. 微信小程序---》分包加载

    [小程序]---分包加载   一.分包加载 某些情况下,开发者需要将小程序划分成不同的子包,在构建时打包成不同的分包,用户在使用时按需进行加载 在构建小程序分包项目时,构建会输出一个或多个分包.每个使 ...

  6. 前端 CSS 盒子模型

    盒模型的概念 在CSS中,"box model"这一术语是用来设计和布局时使用,然后在网页中基本上都会显示一些方方正正的盒子.我们称为这种盒子叫盒模型. 盒模型有两种:标准模型和I ...

  7. 2019春第十二周作业Compile Summarize

    这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 这里 我在这个课程的目标是 能按自己的想法解出题目 这个作业在那个具体方面帮助我实现目标 能朝着软件工程师方向发展 参考文献与网址 C语言 ...

  8. Linux 系统下的7个运行级别

    转自:http://blog.chinaunix.net/uid-22746363-id-383989.html Linux系统有7个运行级别(runlevel)运行级别0:系统停机状态,系统默认运行 ...

  9. [Python3 练习] 001 温度转换1

    题目:温度转换 I (1) 描述 温度的刻画有两个不同体系:摄氏度 (Celsius) 和华氏度 (Fabrenheit) 请编写程序将用户输入的华氏度转换为摄氏度,或将输入的摄氏度转换为华氏度 转换 ...

  10. JDK11 | 第一篇 : JDK11 介绍

    文章首发于公众号<程序员果果> 地址 : https://mp.weixin.qq.com/s/cOqRVlDgOqfDfKtkk1JGxw 一.简介 北京时间 2018年9 月 26 日 ...