按数字顺序排序数字 - c ++

时间:2016-10-08 10:14:37

标签: c++ sorting

我正在尝试编写的程序是关于按人员ID分发食物。 我正在使用排序方法按他们的身份对人们进行排序。问题如下:

Image

我想要的结果:

9 90
60 90
81 90
3 80
5 80
4 60
72 60

但是当我只使用sort方法对id进行排序时,它可以正常工作。我不确定是什么问题。

这是我的代码:

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

struct Info
{
    int id;
    int weight;
    bool operator < (const Info& val) const {
        return val.weight < weight;
    }
};

int main()
{
    vector<Info> info_v;
    Info info;
    int childNum = 0;

    cin >> childNum;

    for (int i = 0; i < childNum; i++) {
        cin >> info.id >> info.weight;
        info_v.push_back(info);
    }

    sort(info_v.begin(), info_v.end());
    for (int i = 0; i < childNum; i++)
    {
        cout << info_v[i].id << "\t" << info_v[i].weight << endl;
    }
    return 0;
}

如何按数字顺序对数字进行排序?请给我一些想法!

1 个答案:

答案 0 :(得分:0)

更换标签&#39; \ t&#39;一个空间。