zoukankan      html  css  js  c++  java
  • unique && stl的全排列

    stl的全排列:

    看代码。

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<algorithm>
     4 #include<string>
     5 #include<cstring>
     6 using namespace std;
     7 int n,a[12];
     8 int main()
     9 {
    10     scanf("%d",&n);
    11     for(int i=1;i<=n;++i) a[i]=i;
    12     while(next_permutation(a+1,a+n+1))//下一个全排列函数 
    13     {
    14         for(int i=1;i<=n;++i)
    15          cout<<a[i]<<" ";
    16         cout<<endl;
    17     }//prev_permutation(a+1,a+n)  <-上一个全排列函数 
    18     return 0;
    19 }

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

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

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

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

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

    具体用法如下:

     1 #include<cstdio>
     2 #include<iostream>
     3 #include<cmath>
     4 #include<cstring>
     5 #include<algorithm>
     6 using namespace std;
     7 const int MAXN=8010;
     8 int a[MAXN];
     9 int main()
    10 {
    11     int N;
    12     while(scanf("%d",&N)!=EOF)
    13    {
    14         for(int i=1;i<=N;i++)scanf("%d",&a[i]);
    15         sort(a+1,a+N+1);
    16         int k=unique(a+1,a+N+1)-a;
    17         printf("k=%d
    ",k);
    18         for(int i=1;i<=N;i++)
    19        printf("%d ",a[i]),puts("");
    20     }
    21     return 0;
    22 }

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

  • 相关阅读:
    设计模式 : Template method 模板方法模式 -- 行为型
    设计模式:Strategy 策略模式 -- 行为型
    没有评审的技术都是扯淡
    TCP/IP 协议大致的概念
    HTTP 2.0 与 tomcat
    相对URL拼接为绝对URL的过程
    URI与URL区别
    《淘宝首页性能优化实践》文章阅读
    第一章 Linux内核简介
    vim中执行shell命令小结
  • 原文地址:https://www.cnblogs.com/adelalove/p/8492527.html
Copyright © 2011-2022 走看看