结构体sort()

Posted hemeiwolong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了结构体sort()相关的知识,希望对你有一定的参考价值。

#include <iostream>
#include <cstdio>
#include <algorithm>//sort要包含的头文件 
#include <time.h>
using namespace std;

struct st
{
    int x,y;
};
st s[10];

bool cmp(st a,st b)//自定义的比较函数 
{
    if (a.x<b.x)//先按第一位数升序排列 
    {
        return true;
    }

    else if (a.x==b.x)
    {
        if (a.y<b.y)//再按第二位数升序排列 
        {
            return true;
        }
    }

    return false;
}

int main()
{
    srand(time(NULL));
    int i;
    for (i=0;i<10;i++)//生成随机数产生样例 
    {
        s[i].x=rand()%10;
        s[i].y=rand()%10;
    }

    for (i=0;i<10;i++)
    {
        printf("%d %d\n",s[i].x,s[i].y);
    }

    printf("\n");
    sort(s,s+10,cmp);// sort默认升序排列 

    for (i=0;i<10;i++)
    {
        printf("%d %d\n",s[i].x,s[i].y);
    }

    return 0;
}

 

以上是关于结构体sort()的主要内容,如果未能解决你的问题,请参考以下文章

结构体vector sort()

sort函数能对结构体进行排序吗?

用vector开的结构体数组,能否用sort排序

c++ sort 函数能对类或者结构体进行排序吗

从最简单的vector中sort用法到自定义比较函数comp后对结构体排序的sort算法

求教一个问题,如何用sort对结构体数组排序