Charles
Thinking low level, Coding high level
C++博客
首页
新随笔
联系
聚合
管理
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 |
申诉台
规范化;门口麻烦机;那么孔方兄那么妈妈法;酿母菌法那么;风格那么明年;愤怒麻烦那么愤怒愤怒留念多孔蕈乐观好看的里边赶快巴拿马城,新年巴拿马国际法,不
回复
更多评论
刷新评论列表
IT新闻:
·
诺基亚今年或推出配置1GHz CPU的智能手机
·
Chrome的书签管理器即将升级
·
Palm目标股价被降至0美元 或难免被收购
·
惠普可卷折柔性显示屏展示
·
Intel年底发布USB 3.0控制器 暂无原生支持
专题:
Android
iPad
jQuery
Chrome OS
博客园首页
IT新闻
知识库
学英语
C++程序员招聘
标题
姓名
主页
验证码
*
内容(提交失败后,可以通过“恢复上次提交”恢复刚刚提交的内容)
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
每天10分钟,轻松学英语
推荐职位:
·
飞信服务器端高级.NET开发工程师(新媒传信)
·
.NET飞信官网开发工程师(新媒传信)
·
.NET技术开发总监(广州衣酷)
·
ASP.NET资深工程师 (盛大网络)
·
.NET初级程序员 (北京安人)
·
.NET中级程序员 (北京安人)
·
中高级.NET工程师(沪江网)
·
前端开发工程师(沪江网)
博客园首页随笔:
·
揭开.NET 2.0配置之谜(三)
·
关于选择方向
·
JSON in .NET
·
Linq自动生成的designer.cs无故被删除的问题的答案
·
sql分组查询前n条记录,生成xlm,xslt解析(新手实例)
知识库:
·
有感于“研发人员的个人培养和组织培养”
·
SQL vs NoSQL:数据库并发写入性能比拼
·
让敏捷与“以用户为中心的设计”和谐共生
·
Apple、Google 之战渐显个人色彩
·
闾丘露薇:参观两间“小”公司
相关文章:
Integer Partition
数1的个数
Fibonacci
简单打印内存的小玩意儿
矩阵式螺旋输出
求最大公约数与最小公倍数
数内置类型的bit数
计算Int最大最小值
两个堆栈模拟一个队列
检测补码表示
网站导航:
博客园
IT新闻
博客园个人主页
BlogJava
博客生活
IT博客网
PHP博客
博客园社区
管理
<
2006年11月
>
日
一
二
三
四
五
六
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
决定开始写工作日记,记录一下自己的轨迹...
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(3)
给我留言
查看公开留言
查看私人留言
随笔分类
(70)
Helper Utility(1)
读书作笔记(3)
发泄(3)
面试小算法(27)
拿来主义(25)
随笔(10)
一般人儿我不告诉他(1)
随笔档案
(71)
2008年3月 (1)
2008年2月 (1)
2007年7月 (3)
2007年3月 (3)
2007年1月 (18)
2006年12月 (16)
2006年11月 (29)
相册
Me
charles推荐访问
Code Project
Linux Journal
Linux man pages
Single UNIX Specification
电子书1
电子书2
电子书3
搜索
积分与排名
积分 - 23619
排名 - 185
最新评论
1. re: 数单词数
规范化;门口麻烦机;那么孔方兄那么妈妈法;酿母菌法那么;风格那么明年;愤怒麻烦那么愤怒愤怒留念多孔蕈乐观好看的里边赶快巴拿马城,新年巴拿马国际法,不
--申诉台
2. re: 数单词数
感到发现看来自动化大会单行本打开怎么赶快电子管矛盾感动不动门口‘大批看病黄道婆民主
--申诉台
3. re: 移除字符
评论内容较长,点击标题查看
--D_BOY
4. re: 很土
呵呵,慢慢来就好嘛
--flamingo
5. re: 毕业啦
评论内容较长,点击标题查看
--moonlight
阅读排行榜
1. 求最大公约数与最小公倍数(1813)
2. 计算Int最大最小值(1228)
3. 寻找最长递增子序列(1004)
4. IA32/Windows&Linux高精度计时器(885)
5. COFF格式续篇—Lib文件的结构zz(842)
评论排行榜
1. 计算Int最大最小值(5)
2. IA32/Windows&Linux高精度计时器(4)
3. 数单词数(3)
4. 两个堆栈模拟一个队列(3)
5. ZMD(3)