数据结构实验之排序七:选课名单 (SDUT 3404)
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
struct node
{
char data[15];
struct node *next; //存放名字
};
struct node *head[2018]; // 每个课程都有一个相应的开始
int num[2018]; // 存放每个课程选的人数
char name[15];
int main()
{
int n,m,sum,cnt;
while(~scanf("%d%d",&n,&m))
{
memset(num,0,sizeof(num));
for(int i = 0; i < 2018; i ++) // 初始化
{
head[i] = (struct node *)malloc(sizeof(struct node));
head[i] -> next = NULL;
}
for(int i = 0; i < n; i ++)
{
scanf("%s %d", name, &sum);
for(int j = 0; j < sum; j ++)
{
scanf("%d", &cnt);
num[cnt] ++; // 对应的课程的人数要+1
struct node *q, *p;
q = (struct node *)malloc(sizeof(struct node));
q -> next = NULL;
strcpy(q -> data,name); // 新申请一个结点来存放这个人的名字
p = head[cnt]; // 找到这个人应该的在的那一列中
while(p -> next)
{
if(strcmp(q -> data, p -> next -> data) < 0) // 找到第一个字符串需要大于它的
{
break;
}
p = p -> next;
}
q -> next = p -> next; // 顺序插入到链表中去
p -> next = q;
}
}
for(int i = 1; i <= m; i ++)
{
printf("%d %d\n", i, num[i]); // 输出课程 以及人数
struct node *p; // 对应的人名
p = head[i] -> next;
while(p)
{
printf("%s\n", p -> data);
p = p -> next;
}
}
}
return 0;
}
数据结构实验之排序七:选课名单 (SDUT 3404)的更多相关文章
- SDUT 3404 数据结构实验之排序七:选课名单.!?
数据结构实验之排序七:选课名单 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 随着学校规模 ...
- SDUT-3404_数据结构实验之排序七:选课名单
数据结构实验之排序七:选课名单 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 随着学校规模的扩大,学生人数急剧增加,选 ...
- 数据结构实验之排序二:交换排序 (SDUT 3399)
#include <iostream> #include <bits/stdc++.h> using namespace std; typedef long long ll; ...
- SDUT 3401 数据结构实验之排序四:寻找大富翁.!
数据结构实验之排序四:寻找大富翁 Time Limit: 150MS Memory Limit: 512KB Submit Statistic Problem Description 2015胡润全球 ...
- SDUT 3346 数据结构实验之二叉树七:叶子问题
数据结构实验之二叉树七:叶子问题 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 已知一个按 ...
- SDUT OJ 数据结构实验之二叉树七:叶子问题
数据结构实验之二叉树七:叶子问题 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Descri ...
- SDUT OJ 数据结构实验之排序四:寻找大富翁
数据结构实验之排序四:寻找大富翁 Time Limit: 200 ms Memory Limit: 512 KiB Submit Statistic Discuss Problem Descripti ...
- SDUT OJ 数据结构实验之排序三:bucket sort
数据结构实验之排序三:bucket sort Time Limit: 250 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem D ...
- SDUT OJ 数据结构实验之排序二:交换排序
数据结构实验之排序二:交换排序 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Descrip ...
随机推荐
- 论文笔记 Large Pose 3D Face Reconstruction from a Single Image via Direct Volumetric CNN Regression
Large Pose 3D Face Reconstruction from a Single Image via Direct Volumetric CNN Regression 该文献采用一个新型 ...
- C# CheckBoxList绑定值,设置及获取
前端页面:.aspx <asp:CheckBoxList ID="ckbdot" runat="server" RepeatDirection=" ...
- "超时时间已到。在操作完成之前超时"的解决思路
错误往往是数据库操作超时引起 1.检查数据库访问连接字符串启用连接池,若是,适当增大超时时间 2.ADO sqlcommand相应调整超时时长 3.关键在于优化数据库操作,优化压缩执行时间
- BUAA OO 2019 第四单元作业总结
目录 第四单元总结 总 UML UML 类图 UML 时序图 UML 状态图 架构设计 第十三次作业 第十四次作业 课程总结 历次作业总结 架构设计 面向对象方法理解 测试方法理解与实践 改进建议 尽 ...
- VBA编程图表(二十一)
使用VBA,可以根据特定标准生成图表.下面通过一个例子来看看它如何实现. 第1步 - 输入要生成图形的数据. 第2步 - 创建3个按钮 - 一个生成条形图,另一个生成饼图,另一个生成柱形图. 第3步 ...
- 当ajax都完成后执行方法
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...
- The server quit without updating PID file
[root@fjgh ~]# service mysqld start Starting MySQL... ERROR! The server quit without updating PID fi ...
- 使用gdb调试应用程序
目录 一.gdb基本使用 1. 启动gdb 2. gdb交互式命令 一.gdb基本使用 GDB是一个由GNU开源组织发布的.UNIX/LINUX操作系统下的.基于命令行的.功能强大的程序调试工具. ...
- PLC编程的基础知识的总结
1.Programmable Logic Controller PLC 代替计算机实现复杂的逻辑控制系统 ,可编程控制器是一种数字运算操作电子系统,转门在工业控制系统中使用而设计的,采用一种可以 ...
- Linux主机之间传输文件的几种方法对比
1.scp传输 scp -r /data/file root@ip:/data/ scp -C /data/sda.img root@ip:/data/img/#-r: 支持目录#-C: 启用压缩传送 ...