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 >
完整的博客下週把其餘內容塊補上再從新發吧!