文章

39

粉丝

74

获赞

1

访问

20.5k

头像
出现次数最多的数 题解:qsort ,将下标当做结构体属性一起排序
P2001 重庆大学机试题
发布于2024年3月17日 17:27
阅读数 461

#include <stdio.h>
#include <stdlib.h>
typedef struct node{
    int num;
    int count;
}node;

int n;
struct node p[10009];

int cmp(const void*a,const void*b)
{
    struct node a1=*(struct node*)a;
    struct node b1=*(struct node*)b;
    if(a1.count!=b1.count)return b1.count-a1.count;
    else return a1.num-b1.num;
}
int main()
{
    scanf("%d",&n);
    for(int i=0;i<10009;i++){
        p[i].num=i;
        p[i].count=0;
    }
    for(int i=0;i<n;i++){
        int a;
        scanf("%d",&a);
        p[a].count++;
    }

    qsort(p,10009,sizeof(struct node),cmp);
    printf("%d",p[0].num);

    return 0;
}

先对次数排序,在对下标排序

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发