结构体排序

来源:互联网 发布:华中科技大学网络与远程教育 编辑:程序博客网 时间:2024/05/22 09:39


#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;

}


来自网络笔记

0 0