zoukankan      html  css  js  c++  java
  • 从c到c++ algorithm头文件

    algorithm 是处理一定范围的数据,是为数组和容器指定的;

    不修改序列:

    1.for_each(begin,end,myfunction),堆一定范围内的所有元素进行一个操作,

    相当于

    for(auto it=begin;it!=end;it++)
    {
      function(*it);  
    }
    

     2.find(fpos,lastpos,target)//返回一个迭代器,指针,如果没有就是lastpos

    也适用于容器,和单独类的下标不同,string.find()返回的是第一次出现的索引下标;

    3.count (fpos,latpos,target) 返回的是出现的次数没有返回0,只能寻找一个个单独的对像,不能寻找局部,例如查找子窜;

    修改序列:

    1.reverse(begin,end);

    2.rotate(旋转)

    3.stabe_partition()维持原有的相对顺序;

    4.sort

      1.sort(begin,end,cmp比较器);传入一个对象也行,重载括号

      2.stable_sort()//默认升序,比较结果相同的值保持他们的相对顺序;

      3.nth_element(begin,要定位的第n个元素的地址,end);

      4.binary_search(begin,end,target)二分查找,目标有序;存在返回地址,不存在返回最后一个

      5.upper_bound(begin,end,20)第一个比20大的数的指针

      6.lower_bound(大于等于目标值的最大数)都是上升序列的规则;

    next_permutation()在这个范围内的元素重拍到更加大的一个字典序排列,初始状态有序;

  • 相关阅读:
    base64和Blob的相互转换
    限制文件上传的大小和尺寸
    git将本地项目提交到github
    vue-cli3创建项目时报错
    运行项目是node-sass报错的解决方法
    classList的使用
    将数组扁平化并去除其中重复数据,最终得到一个升序且不重复的数组
    移动端的图片放大
    js获取url中的参数
    HTML5-canvas
  • 原文地址:https://www.cnblogs.com/hjw201983290498/p/12728902.html
Copyright © 2011-2022 走看看