结构体排序问题

简介: 结构体排序问题

题目如下:

6.png7.png

刚刚看到这道题的时候一点点思路都没有……连题目都没读懂……
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
typedef struct clas
{
    int id;
    int num;
}clas;
bool cmp(clas a,clas b)
{
    if(a.num == b.num)
        return a.id < b.id;
    else
        return a.num < b.num;
}
clas arr[10005];
int main()
{
    memset(arr,0,sizeof(arr));
    int N,M,a,b;
    scanf("%d %d",&N,&M);
    for(int i = 1;i <= M;i++)
        arr[i].id = i;
    for(int j = 0;j < N;j++)
    {
        scanf("%d",&a);
        for(int k = 1;k <= a;k++)
        {
            scanf("%d",&b);
            arr[b].num += 1;
        }
    }
    sort(arr + 1,arr + M +1,cmp);
    for(int i = 1;i < M + 1;i++)
    {
        printf("%d %d\n",arr[i].id,arr[i].num);
    }
    return 0;
}

cmp 一切为了比较,题中提到了‘相同人数的,课程编号小的先输出’的要求,所以用人数比较。

注意输入问题!!!就是没读懂题……

然后就是正常的结构体排序问题嗯!

相关文章
|
8月前
qsort函数专题
qsort函数专题
44 2
|
8月前
|
算法
指针(6)---qsort函数
指针(6)---qsort函数
39 0
|
7月前
|
C语言
qsort函数的应用
qsort函数的应用
42 0
|
算法 C语言
my_qsort,你值得拥有.
my_qsort,你值得拥有.
36 0
|
8月前
|
搜索推荐
【qsort函数实现】
【qsort函数实现】
|
8月前
浅学指针(4)函数指针数组和qsort的使用
浅学指针(4)函数指针数组和qsort的使用
|
8月前
|
搜索推荐 C++
[C++/PTA] 有序数组(类模板)
[C++/PTA] 有序数组(类模板)
66 0
|
容器
sort函数
sort函数
|
搜索推荐 C语言
qsort函数的讲解
qsort函数的讲解
62 0
|
C语言
实现qsort函数
qsort函数是C语言中快速排序的一个函数,不会的可以去http://t.csdn.cn/TP8cv看看这个函数的用法,现在我们看看自己怎么实现这个函数