posts - 71,  comments - 39,  trackbacks - 0
比较简单的那种,句子都在内存中。还有一种就是文章在文件中,然后数不同单词的数目,最近比较流行,不过实现起来比较复杂,就说一下思路吧。建一个27叉树(或者兄弟孩子树),然后从文件里读单词,在树上一个字母一个字母数,单词结束做个标记。如果某个单词数过了就不用计数。
int  CountWord( const   char   * text,  char  seperator)
{
    
int  count  =   0 ;
    
bool  emergence  =   false ;

    
while  ( * text)
    
{
        
if  ( * text ++   !=  seperator)
        
{
            
if  ( ! emergence)
            
{
                emergence 
=   true ;
                count
++ ;
            }

        }

        
else
        
{
            emergence 
=   false ;
        }


    }
// while

    
return  count;
}
记录切开的单词版本
#include <vector>
using std::vector;
int CountWord2(const char *text, char seperator, vector<char*>& words)
{
    
int count = 0;
    
int iTokenScanner = 0;
    
int iWritePos = 0;
    
int iWordStart;

    
while (text[iTokenScanner])
    
{
        
if (text[iTokenScanner] != seperator)
        
{
            iWordStart 
= iTokenScanner;
            
            
while (text[iTokenScanner] && text[iTokenScanner] != seperator)
                iTokenScanner
++;
            
            words.push_back(
new char[iTokenScanner - iWordStart + 1]);

            
while (iWordStart < iTokenScanner)
                words[count][iWritePos
++= text[iWordStart++];

            words[count][iWritePos] 
= '\0';
            iWritePos 
= 0;

            count
++;
        }

        
else
        
{
            iTokenScanner
++;
        }


    }
//while

    
return count;
}
posted on 2006-11-21 11:06 Charles 阅读(360) 评论(3)  编辑 收藏 引用 所属分类: 面试小算法

FeedBack:
# re: 数单词数
2006-11-21 22:01 | sc
为啥这篇阅读人数这么多?  回复  更多评论
  
# re: 数单词数
2008-10-19 10:07 | 申诉台
感到发现看来自动化大会单行本打开怎么赶快电子管矛盾感动不动门口‘大批看病黄道婆民主  回复  更多评论
  
# re: 数单词数
2008-10-19 10:08 | 申诉台
规范化;门口麻烦机;那么孔方兄那么妈妈法;酿母菌法那么;风格那么明年;愤怒麻烦那么愤怒愤怒留念多孔蕈乐观好看的里边赶快巴拿马城,新年巴拿马国际法,不  回复  更多评论
  

专题:Android  iPad jQuery Chrome OS

博客园首页  IT新闻  知识库  学英语  C++程序员招聘
标题  
姓名  
主页
验证码 *
内容(提交失败后,可以通过“恢复上次提交”恢复刚刚提交的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
[使用Ctrl+Enter键可以直接提交]
每天10分钟,轻松学英语
网站导航:


<2006年11月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

决定开始写工作日记,记录一下自己的轨迹...

常用链接

留言簿(3)

随笔分类(70)

随笔档案(71)

相册

charles推荐访问

搜索

  •  

积分与排名

  • 积分 - 23619
  • 排名 - 185

最新评论

  • 1. re: 数单词数
  • 规范化;门口麻烦机;那么孔方兄那么妈妈法;酿母菌法那么;风格那么明年;愤怒麻烦那么愤怒愤怒留念多孔蕈乐观好看的里边赶快巴拿马城,新年巴拿马国际法,不
  • --申诉台
  • 2. re: 数单词数
  • 感到发现看来自动化大会单行本打开怎么赶快电子管矛盾感动不动门口‘大批看病黄道婆民主
  • --申诉台
  • 3. re: 移除字符
  • 评论内容较长,点击标题查看
  • --D_BOY
  • 4. re: 很土
  • 呵呵,慢慢来就好嘛
  • --flamingo
  • 5. re: 毕业啦
  • 评论内容较长,点击标题查看
  • --moonlight

阅读排行榜

评论排行榜