【Fantasy】第一次作业小结
2012-10-17 19:51
176 查看
第一次作业小结
因为没有VC12,性能测试暂时无法进行。但是从我自己的角度来看,程序还是有很多问题的。
1.未采用结构体,导致空间冗余,设置变量为1000,当单词种类(不是总量)大于1000时将不得不修改才能使用。而单词频率统计应该在大规模文件中才更有价值。
2.采用了选择排序而不是快速排序,在排序上的效率不高。
3.判断是否为单词的语句到最后才应用,直接导致前面有大量“无用功”。
4.search部分代码采用了goto语句,这不是一个好习惯。
这些在以后做新程序或者对本程序进行改进的时候都要注意。
因为没有VC12,性能测试暂时无法进行。但是从我自己的角度来看,程序还是有很多问题的。
1.未采用结构体,导致空间冗余,设置变量为1000,当单词种类(不是总量)大于1000时将不得不修改才能使用。而单词频率统计应该在大规模文件中才更有价值。
2.采用了选择排序而不是快速排序,在排序上的效率不高。
3.判断是否为单词的语句到最后才应用,直接导致前面有大量“无用功”。
4.search部分代码采用了goto语句,这不是一个好习惯。
public void search(string c) //遍历及统计函数 { DirectoryInfo DI = new DirectoryInfo(文件路径.SelectedPath); String 字符串 = String.Empty; foreach (var File in DI.GetFiles("" + c + "", SearchOption.AllDirectories)) { using (StreamReader 流 = new StreamReader(File.FullName)) { 字符串 = 流.ReadToEnd(); } string[] 单词 = 字符串.Split(' ', ',', '.', '<', '>', ':', ';', '/', '?', '[', ']', '{', '}', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '-', '_', '+', '=', '|', '\'', '\"', '\\', '\r', '\n'); for (int i = 0; i < 单词.Count(); i++) { for (int j = 0; j <= k; j++) if (string.Compare(单词[i], a[j], true) == 0) { number[j]++; goto S; } a[k] = 单词[i]; number[k] = 1; k++; S: continue; } }
这些在以后做新程序或者对本程序进行改进的时候都要注意。
相关文章推荐
- 陈伯雄第一次作业小结
- 第一次作业小结_陈伯雄
- 【Fantasy】第一次作业(1)
- 【Fantasy】第一次作业测试数据
- 高级软件工程课程第一次作业的小结
- 第一次作业小结
- 第一次作业小结
- 第一次作业小结
- 第一次作业-四则运算题目生成程序
- 面向对象第一次作业参考答案
- 第一次作业
- 第一次作业
- 全新Linux+Python高端运维班第一次作业
- 博客整理——第一次个人作业
- 【第一次作业】
- 第一次作业:源代码计算器之目标一
- 团队作业4——第一次项目冲刺(Alpha版本)2nd day
- 团队作业4——第一次项目冲刺(Alpha版本)4.23
- 团队作业4——第一次项目冲刺(Alpha版本) Day3
- 吉软-Java57-第一次作业