zoukankan      html  css  js  c++  java
  • STL算法

    头文件:<algorithm>

    sort  快速排序   stable_sort  稳定快速排序  O(n log n)

      sort(iterator_begin,iterator_end); //iterator_指迭代器位置

      sort(iterator_begin,iterator_end,cmp); //cmp为自定义排序

    reverse  翻转  O(n)

      reverse(iterator_begin,iterator_end);

    unique  去重(返回新范围尾部迭代器)  O(n)

      int len=unique(iterator_begin,iterator_end)-iterator_begin; //得到新范围长度

    lower_bound/upper_bound  二分查找  O(log n)

        int pos1=lower_bound(iterator_begin,iterator_end,x)-iterator_begin;
        //第一个大于等于x的元素位置
        int pos2=upper_bound(iterator_begin,iterator_end,x)-iterator_begin;
        //第一个大于x的元素位置
        int pos3=lower_bound(iterator_begin,iterator_end,x,greater<int>())-iterator_begin;
        //第一个小于等于x的元素位置
        int pos4=upper_bound(iterator_begin,iterator_end,x,greater<int>())-iterator_begin;
        //第一个小于x的元素位置

    next_permutation  下一个排列  O(n)

        //字典序输出1~n的全排列 
        for(int i=1;i<=n;i++)
            a[i]=i;
        do{
            for(int i=1;i<n;i++)
                printf("%d ",a[i]);
            printf("%d
    ",a[n]);
        }while(next_permutation(a+1,a+n+1));
  • 相关阅读:
    图论
    利益相关者系统描述
    问题账户需求分析
    2018年春季个人阅读计划
    软件需求分析阅读笔记
    寒假社会实践报告
    敏捷软件需求阅读笔记03
    微信小程序一笔记账开发进度五
    微信小程序一笔记账开发进度四
    微信小程序一笔记账开发进度三
  • 原文地址:https://www.cnblogs.com/Pedesis/p/10350332.html
Copyright © 2011-2022 走看看