对vector 中的结构体元素排序

来源:互联网 发布:c 代理商系统源码 编辑:程序博客网 时间:2024/06/05 00:29
#include<iostream>#include<vector>#include<algorithm>using namespace std;struct ss{    int a,b;};bool comp(const ss &a,const ss &b){    return a.a<b.a;}int main(){    vector<ss>v;    ss s1,s2,s3,s4,s5;    s1.a=4;s1.b=23;    s2.a=1;s2.b=213;    s3.a=2;s3.b=231;    s4.a=5;s4.b=123;    s5.a=3;s5.b=223;    v.push_back(s1);    v.push_back(s2);    v.push_back(s3);    v.push_back(s4);    v.push_back(s5);    sort(v.begin(),v.end(),comp);    int i=0;    for(i=0;i<5;i++)    {        cout<<v[i].a<<" "<<v[i].b<<endl;    }    system("pause");    return 0;}


比如ss结构体中a代表的是索引号,b代表的是索引对应的值,那么我想按索引排序,通过改写comp函数即可实现。

结果:

1 213
2 231
3 223
4 23
5 123



0 0