博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vector的应用
阅读量:5046 次
发布时间:2019-06-12

本文共 1507 字,大约阅读时间需要 5 分钟。

//算法笔记STL部分vector篇 #include
#include
#include
#include
using namespace std;const int M = 26*26*26*10+1;//一共有M种姓名组合的可能 (主营常量的定义方式与宏的定义方式的区别) vector
s[M];//每个vector对应每个学生的选课情况 int getID(char name[])//使用hash函数将每个学生姓名对应的id计算出来 //1.定义hash函数 { int id = 0; for(int i = 0; i < 3; i++) { id = id *26 + name[i] - 'A'; } id = id * 10 + name[3] - '0'; return id; }int main(){ int student, course;//student代表学生人数,course代表课程数 char name[5];//用于输入每个学生的姓名 int course_i, student_size;//course_i代表第i门课,student_size代表第i门课的学生人数 scanf("%d%d", &student, &course); for(int i = 0; i < course; i++)//让每个学生选的课加入到此学生对应id的vector中 //2.让每个学生选的课加入到此学生对应id的vector中 { scanf("%d%d", &course_i, &student_size); for(int j = 0; j < student_size; j++) { scanf("%s", name); s[getID(name)].push_back(course_i); } } for(int i = 0; i < student; i++)//对学生信息进行输出 //3.对学生信息排序后输出 { scanf("%s", name); int n = s[getID(name)].size(); printf("%s %d ", name, n); sort(s[getID(name)].begin(), s[getID(name)].end()); for(vector
::iterator it = s[getID(name)].begin(); it != s[getID(name)].end(); it++) { printf("%d ", *it); } printf("\n"); } return 0;}

 

转载于:https://www.cnblogs.com/the-cat-from-Norway/p/9911294.html

你可能感兴趣的文章
yaml文件 .yml
查看>>
linux字符集修改
查看>>
phpcms 添加自定义表单 留言
查看>>
mysql 优化
查看>>
读书笔记 ~ Nmap渗透测试指南
查看>>
WCF 配置文件
查看>>
动态调用WCF服务
查看>>
oracle导出/导入 expdp/impdp
查看>>
类指针
查看>>
css修改滚动条样式
查看>>
2018.11.15 Nginx服务器的使用
查看>>
Kinect人机交互开发实践
查看>>
百度编辑器UEditor ASP.NET示例Demo 分类: ASP.NET...
查看>>
JAVA 技术类分享(二)
查看>>
android客户端向服务器发送请求中文乱码的问
查看>>
Symfony翻译教程已开课
查看>>
TensorFlow2.0矩阵与向量的加减乘
查看>>
NOIP 2010题解
查看>>
javascript中的each遍历
查看>>
String中各方法多数情况下返回新的String对象
查看>>