• algorithm 头文件参考


    定义执行算法的 C++ 标准库容器模板函数。

    备注

    <algorithm> 库还使用该 #include <initializer_list> 语句。


    目录

    sort将指定范围中的元素按非降序顺序排列,或根据二元谓词指定的排序条件排列。


    sort将指定范围中的元素按非降序顺序排列,或根据二元谓词指定的排序条件排列。

    const _RanIt _First, const _RanIt _Last

    int main()
    {
      int num[55] = { 0 };
      num[0] = 1;
      num[1] = 11;
      num[2] = 5;
      num[3] = 8;
      num[5] = 12;
      num[6] = 19;
      sort(num, num + 6);
      for (int i = 0; i <=6; i++)
      {
        cout << num[i] << "";
      }
      cout << endl;
      return 0;
    }

    const _RanIt _First, const _RanIt _Last, _Pr _Pred

    _Pr _Pred

    用户定义的谓词函数对象,定义排序中连续元素要满足的比较条件。 该二元谓词采用两个参数,并且,如果两个参数按顺序排序,将返回 true,否则将返回 false。 该比较器函数必须对序列中的元素对进行严格弱排序。

    bool cmp(const int& a, const int&b) {
      return a > b;
    }
    
    int main()
    {
      int num[55] = { 0 };
      num[0] = 1;
      num[1] = 11;
      num[2] = 5;
      num[3] = 8;
      num[5] = 12;
      num[6] = 9;
      //greater<int>() 降序的谓语 按降序排序
      sort(num, num + 6,greater<int>());
      sort(num, num + 6,cmp);
      for (int i = 0; i <=6; i++)
      {
        cout << num[i] << "";
      }
      cout << endl;
      return 0;
    }

    sort自定义类型排序

    自定义排序 必须给一个排序方法 ,或者你必须给他重载一个 < 否则会报错

    操作符重载

    也可以 在类中进行操作符重载

    bool  operator< (const xxx& b)const {

    return this->s > b.s;

    }

    #include <iostream>
    #include <string>
    #include <algorithm>
    using   namespace std;
    
    struct xxx
    {
      string name;
      int num, age, s;
    
    };
    // 3x4 =12  20位4的倍数32 
    
    //如果
    bool cmp(const xxx& a, const xxx& b) {
      return a.s > b.s;
    }
    
    int main()
    {
      xxx a_abs64[205];
      a_abs64[0].name = "xxxx";
      a_abs64[0].num = 1;
      a_abs64[0].age = 18;
      a_abs64[0].s = 100;
      a_abs64[1].name = "aaa";
      a_abs64[1].num = 2;
      a_abs64[1].age = 9;
      a_abs64[1].s = 90;
      a_abs64[2].name = "bbbb";
      a_abs64[2].num = 3;
      a_abs64[2].age = 22;
      a_abs64[2].s = 80;
      sort(a_abs64, a_abs64 + 2, cmp);
      //自定义排序 必须给一个排序方法 ,或者你必须给他重载一个<
      for (int i = 0; i <= 2; i++)
      {
        cout << a_abs64[i].num << "  " << a_abs64[i].name << "" << " " << a_abs64[i].s << endl;
      }
      return 0;
    }
  • 相关阅读:
    最小费用最大流问题
    成大事必备9种能力、9种手段、9种心态
    转 fpga学习经验2
    算法 FFT理论1
    FPGA进阶之路1
    FPGA:亲和力激活竞争力
    1030 又回来了
    转 fpga学习经验1
    调查:近半大学生愿接受15002000元月薪
    转 观点:哪些人适合做FPGA开发(精华)
  • 原文地址:https://www.cnblogs.com/yijieyufu/p/16423108.html
Copyright © 2020-2023  润新知