第一次作业小结

因为没有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;
                }
            }

这些在以后做新程序或者对本程序进行改进的时候都要注意。

转载于:https://www.cnblogs.com/5215guqian/archive/2012/10/17/2728258.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值