结构体排序


#include <iostream>
#include <string>
#include <algorithm>

using namespace std;
struct list
{
    int a;
    char b[20];
};

bool cmp(list a,list b)
{
    return a.a<b.a;
}

int main()
{

    int n,i;
    list *a;
    cin>>n;
    a=(list*)malloc(sizeof(list)*n);
    for(i=0;i<n;i++)
    {
        cin>>a[i].a>>a[i].b;
    }

    sort(a,a+n,cmp);
    for(i=0;i<n;i++)
    {
        cout<<a[i].a<<" "<<a[i].b<<endl;
    }
    return 0;
}



//简单sort排序,是结构体哦//

#include <cstdlib>
#include <iostream>
#include <algorithm>
struct Time
{
int a;
int b;
};//刚忘记在这添上分号啦//
bool compare(Time A, Time B)
{
return A.b<B.b;    //对应的结构体成员来作为排序依据
}
using namespace std;
int main(int argc, char *argv[])
{
int N;
while (cin >> N)
{
Time  String[101];
for (int i = 0; i<N; i++)
cin >> String[i].a >> String[i].b;
sort(String, String + N, compare);//sort排序的关键语句//
for (int i = 0; i<N; i++)
{
printf("%d %d", String[i].a, String[i].b);
printf("\n");
}
}
system("PAUSE");
return EXIT_SUCCESS;

}


来自网络笔记

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值