GItHub地址node
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 30 | 100 |
· Estimate | · 估计这个任务须要多少时间 | 510 | 648 |
Development | 开发 | 100 | 200 |
· Analysis | · 需求分析 (包括学习新技术) | 20 | 25 |
· Design Spec | · 生成设计文档 | 0 | 0 |
· Design Review | · 设计复审 | 20 | 5 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 10 | 5 |
· Design | · 具体设计 | 15 | 30 |
· Coding | · 具体编码 | 80 | 80 |
· Code Review | · 代码复审 | 5 | 50 |
· Test | · 测试(自我测试,修改代码,提交修改) | 5 | 5 |
Reporting | 报告 | 30 | 60 |
· Test Repor | · 测试报告 | 50 | 50 |
· Size Measurement | · 计算工做量 | 5 | 8 |
· Postmortem & Process Improvement Plan | · 过后总结, 并提出过程改进计划 | 30 | 30 |
主函数里包含计算字符数、单词数、行数以及前十的单词。ios
int main() { double t = clock(); ofstream os("result.txt", ios::out); if (!os) { cerr << "Cannot write file result.txt!" << endl; exit(1); } get_characters(os); get_words(10, os); get_lines(os); priority_words(os); os.close(); cout<<"< Elapsed Time: "<<(clock()-t)/CLOCKS_PER_SEC<<" >"<<endl; return 0; }
用桶来记录字符串出现的次数,再用结构体使用迭代器将桶内的字符串和出现次数提取出来,写一个排序函数,将字符串按优先级排序(出现次数高的、一样频率字典序在前的优先级高)。最后提取前十个优先级最高的。git
其余的字符统计之类的,只要采用函数进行封装,从文档内读取并计数便可。github
struct node{ string sss; int num; //int value; }q[10005]; map<string, int>word; FILE *fp, *os, *infile; char ch = 'a'; ll characters = 0, lines = 0, words = 0;
void get_characters(ofstream &os) //获得字符数,用字符逐个输入 void get_words(const int &cnt, ofstream &os) //以字符串读入,遇到分隔符再记录是不是单词,单词用桶装 void get_lines(ofstream &os) //以字符读入,定义一个字符变量动态记录上一读入的字符,若连续出现两个'\n'则行数不变。 void priority_words(ofstream &os) //采用结构体排序,输出前十 //排序算法 bool cmp(node t1, node t2) { if(t1.num!=t2.num) return t1.num > t2.num; int len1 = t1.sss.length(); int len2 = t2.sss.length(); int i; for(i = 0; i < len1 && i < len2; i++) { if(t1.sss[i] != t2.sss[i]) { return t1.sss[i] < t2.sss[i]; break; } } if(i == len1) return true; if(i == len2) return false; } sort(q, q+v, cmp);
唉,请让我发一条有声评论:“好难过,这不是我要的结果”。算法
在我所想到的全部bug攻克后,代码轰轰烈烈的出炉。而后,而后,请唱出git是什么鬼!函数
就这样,在最后的几个小时里,我百度,我翻文件,可是,.git我都找不到。最后找到的时候看了下时间,咳咳~~~学习
找到的时候我在干吗呢?在这里跟你们分享个人心情。为何呢,由于已经没有时间了。测试
我只能说,多么痛的领悟,原来代码已经是个人所有,曾经作时的每一步,都好辛苦,唔~~~编码
留下此篇博客,当我从此之教训,之后做业发布的第一天,我就要开始作!开始作!开始作!这样的经历使我心痛!!!spa
请一样有如此感悟的同窗联系我吧!我们约学习啊!不作完不睡觉那种。
测试用例:
aaaaa
aaaaa1
aaaaa
aaaa \t bbbb
aabb1,123aacc123aacc123aacc,aabb1
结果:
耗时:
< Elapsed Time: 0.007 >
完整的博客下周把其余内容块补上再从新发吧!