您的位置:首页 > 理论基础 > 数据结构算法

SDUT 3404 数据结构实验之排序七:选课名单

2016-08-06 14:56 302 查看
点击打开题目链接

#include <bits/stdc++.h>
using namespace std;

struct node
{
char name[15];
} pp[2010][35002];

int Hash[2010];//统计当前课程选课情况
int cmp(node a, node b)
{
return strcmp(a.name,b.name) < 0;
}

int main()
{
int n, m, t, k;
memset(Hash, 0, sizeof(Hash));
scanf("%d %d", &n, &m);
getchar();
for(int i = 1; i <= n; i++)
{
char str[15];
scanf("%s", str);
scanf("%d", &t);
for(int j = 1; j <= t; j ++)
{
scanf("%d", &k);//当前课程ID
strcpy(pp[k][++Hash[k]].name, str);//当前课程ID及其对应选课人数/*pp[k][++Hash[k]//该课程对应人数]*/
}
}
for(int i = 1; i <= m; i++)
{
sort(pp[i]+1, pp[i]+Hash[i]+1, cmp);
cout << i << ' ' << Hash[i] << endl;
for(int j = 1; j <= Hash[i]; j++)
{
printf("%s\n", pp[i][j].name);
}

}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  排序