posts - 71,  comments - 41,  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 阅读(963) 评论(3)  编辑 收藏 引用 所属分类: 面试小算法

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

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理


<2024年12月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

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

常用链接

留言簿(4)

随笔分类(70)

随笔档案(71)

charles推荐访问

搜索

  •  

积分与排名

  • 积分 - 49663
  • 排名 - 452

最新评论

阅读排行榜

评论排行榜