zoukankan      html  css  js  c++  java
  • sort用法

    1、sort(a,a+7) a表示要排序的首地址,数组名代表的就是一个数组的首地址,7是要排序的元素个数

    1     int a[] = { 8,2,9,1,0,5,6 };
    2     sort(a, a + 7);
    3     for (int i = 0; i < 7; i++) {
    4         cout << a[i] << " ";//0 1 2 5 6 8 9
    5     }

    2、sort(a+1,a+5) 表示将[a+1,a+5)区间中的元素排序

    1     int a[] = { 8,2,9,1,0,5,6 };
    2     sort(a+1, a + 5);
    3     for (int i = 0; i < 7; i++) {
    4         cout << a[i] << " ";//8 0 1 2 9 5 6
    5     }

    3、sort(a,a+7,greater<int>()) 按从大到小的顺序排列

      sort默认是按照从小到大的顺序排列的,greater表示更大的意思,即更大的数排在前面,<int>表示要排序的数组中的元素是int类型的

    1     int a[] = { 8,2,9,1,0,5,6 };
    2     sort(a, a + 7,greater<int>());
    3     for (int i = 0; i < 7; i++) {
    4         cout << a[i] << " ";//9 8 6 5 2 1 0
    5     }

    4、定义一个比较大小的函数cmp

     1 #include<iostream>
     2 #include<algorithm>
     3 using namespace std;
     4 bool cmp(int x, int y) {
     5     return x > y;//表示大的排在前面
     6 }
     7 int main() {
     8     int a[] = { 8,2,9,1,0,5,6 };
     9     sort(a, a + 7,cmp);
    10     for (int i = 0; i < 7; i++) {
    11         cout << a[i] << " ";//9 8 6 5 2 1 0
    12     }
    13 
    14     return 0;
    15 }

    5、比较结构体大小

    方法一:

     1 #include<iostream>
     2 #include<algorithm>
     3 using namespace std;
     4 struct A {
     5     int x;
     6     int y;
     7 };
     8 bool cmp(A m, A n) {
     9     return  m.y> n.y;//y更大的排在前面
    10 }
    11 int main() {
    12     A a[] = { {1,3},{4,1},{5,9},{1,6},{8,2} };
    13     sort(a, a + 5,cmp);
    14     for (int i = 0; i < 5; i++) {
    15         cout << "(" << a[i].x << "," << a[i].y << ")" << " ";
    16         //(5,9) (1,6) (1,3) (8,2) (4,1)
    17     }
    18 
    19     return 0;
    20 }

    方法二:

     1 #include<iostream>
     2 #include<algorithm>
     3 using namespace std;
     4 struct A {
     5     int x;
     6     int y;
     7     bool operator<(const A &s)const {
     8         return y > s.y;//y大的在此结构体中定义的‘<’的左边,sort中<左边的在前面
     9     }
    10 };
    11 int main() {
    12     A a[] = { {1,3},{4,1},{5,9},{1,6},{8,2} };
    13     sort(a, a + 5);
    14     for (int i = 0; i < 5; i++) {
    15         cout << "(" << a[i].x << "," << a[i].y << ")" << " ";
    16         //(5,9) (1,6) (1,3) (8,2) (4,1)
    17     }
    18 
    19     return 0;
    20 }
  • 相关阅读:
    博客园定制CSS
    java 锁
    JavaEE各版本web.xml模板
    Thymeleaf
    Appendix
    MATLAB设置双y轴绘图,plotyy怎么设置不同图形色的颜色?坐标轴怎么设置?
    comsol出结果不正确一定要多检查自己的仿真程序有没有问题。 学会少让自己犯错误
    Data&Structural_parameters数据包
    comsol的一些S21,arg(ewfd.Ey)的问题
    origin常用函数
  • 原文地址:https://www.cnblogs.com/program-ai-cv-ml-se-fighting/p/11924550.html
Copyright © 2011-2022 走看看