zoukankan      html  css  js  c++  java
  • 结构体数组的排序

     按照结构体数组的某一项排序,那么一个结构体包含的其他元素仍保持不变。也就是说只能选择其中一项作为指标进行排序,相应的其他值对应不变化。

    如下图,排序前数组为:1,3;8,4;5,2;

    排序后仍然是它们的组合,只是顺序变了而已。

     

    结果如下:

    代码:

     1 #include<algorithm>
     2 #include<iostream>
     3 using namespace std;
     4 
     5 const int M = 3;
     6 
     7 struct two {
     8     double w;
     9     double v;
    10 }ss[M];
    11 bool cmp(two a,two b)
    12 {
    13     return a.v > b.v;   //按照从大到小排序
    14 }
    15 
    16 int main()
    17 {
    18     int s, e;
    19     cout << "输入结构体数组的数值,以空格分开: " << endl;
    20     for (int i = 0; i < 3; ++i)
    21     {
    22         cin >> s >> e;
    23         ss[i].w = s;
    24         ss[i].v = e;
    25         //cout << ss[i].w << " " << ss[i].v << endl;
    26     }
    27     sort(ss, ss + 2, cmp);
    28 
    29     cout << "排序后如下:" << endl;
    30     for (int i = 0; i < 3; ++i)
    31     {
    32         cout << ss[i].w << " " << ss[i].v << endl;
    33     }
    34 
    35     cin.ignore();
    36     cin.ignore();
    37     cin.ignore();
    38 
    39     
    40     return 0;
    41 }

     

  • 相关阅读:
    在线api文档
    Android Studio 快捷键
    AtomicBoolean运用
    ubuntu下Pycharm安装及配置
    Pycharm Professional Edition 激活码(license)
    opengl中对glOrtho()函数的理解
    附加作业
    个人最终总结
    mysql
    创建数据库
  • 原文地址:https://www.cnblogs.com/skylover/p/7357048.html
Copyright © 2011-2022 走看看