Loading

电话号码统计程序

一位同学碰到的问题,详细的题目不清楚大概的要点也就是考点如下:

1、要求从txt文件中读取,是对IO的考验;

2、对Int32的理解,要求知道大概的大小;

3、对操作大数字方案的解决 ;

前两者没什么问题,在IO的时候注意编码方式就好,不过因为是电话号码,一般都为数字所以都无所谓。当然这里没有考虑‘#’等特殊字符。

比较难的是第三点,也是比较经典的问题,一般情况下用长整形就可以解决,整整64位大小的数存储20位以下的整形不是问题。但是万一这个数大小更大呢,所以比较好的方案就是能够处理竟可能大的数字,还要考虑到效率。下面我的方案是以Int32作为单元以Int32数组作为存储数的数据结构,这样就避开了数据大小的问题,如果有更好的方案希望你告诉我。下面用了很多C#中的集合函数,还有一些C、C++中没有的东西,所以用这两种语言就要稍微麻烦点。

稍微解释下(非C#程序员)

List<T>:简单说就是一个可操作集合,T指可以替换任何类型,所以List<int[]>就是一个int[]的可变集合。

foreach:就是遍历当前集合的所有元素。

如果有啥问题请留言。

结果图:


代码如下:

Code

posted @ 2009-03-15 14:23  today4king  阅读(417)  评论(0编辑  收藏  举报