Charles
Thinking low level, Coding high level
C++博客
首頁
新隨筆
聯系
聚合
管理
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
閱讀(980)
評論(3)
編輯
收藏
引用
所屬分類:
面試小算法
FeedBack:
#
re: 數單詞數
2006-11-21 22:01 |
sc
為啥這篇閱讀人數這么多?
回復
更多評論
#
re: 數單詞數
2008-10-19 10:07 |
申訴臺
感到發現看來自動化大會單行本打開怎么趕快電子管矛盾感動不動門口‘大批看病黃道婆民主
回復
更多評論
#
re: 數單詞數
2008-10-19 10:08 |
申訴臺
規范化;門口麻煩機;那么孔方兄那么媽媽法;釀母菌法那么;風格那么明年;憤怒麻煩那么憤怒憤怒留念多孔蕈樂觀好看的里邊趕快巴拿馬城,新年巴拿馬國際法,不
回復
更多評論
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
【推薦】100%開源!大型工業跨平臺軟件C++源碼提供,建模,組態!
相關文章:
Integer Partition
數1的個數
Fibonacci
簡單打印內存的小玩意兒
矩陣式螺旋輸出
求最大公約數與最小公倍數
數內置類型的bit數
計算Int最大最小值
兩個堆棧模擬一個隊列
檢測補碼表示
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Copyright ©2025 Charles Powered By:
博客園
模板提供:
滬江博客
<
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
決定開始寫工作日記,記錄一下自己的軌跡...
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
(4)
給我留言
查看公開留言
查看私人留言
隨筆分類
(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)
charles推薦訪問
Code Project
Linux Journal
Linux man pages
Single UNIX Specification
電子書1
電子書2
電子書3
搜索
積分與排名
積分 - 50469
排名 - 449
最新評論
1.?re: 簡單打印內存的小玩意兒
不錯
--dddd
2.?re: 尋找最長連續遞增子序列
這個只能算是方法,效率太低了
--大物
3.?re: 數單詞數
規范化;門口麻煩機;那么孔方兄那么媽媽法;釀母菌法那么;風格那么明年;憤怒麻煩那么憤怒憤怒留念多孔蕈樂觀好看的里邊趕快巴拿馬城,新年巴拿馬國際法,不
--申訴臺
4.?re: 數單詞數
感到發現看來自動化大會單行本打開怎么趕快電子管矛盾感動不動門口‘大批看病黃道婆民主
--申訴臺
5.?re: 移除字符
評論內容較長,點擊標題查看
--D_BOY
閱讀排行榜
1.?求最大公約數與最小公倍數(3512)
2.?COFF格式續篇—Lib文件的結構zz(2251)
3.?計算Int最大最小值(2136)
4.?IA32/Windows&Linux高精度計時器(1745)
5.?尋找最長遞增子序列(1493)
評論排行榜
1.?計算Int最大最小值(5)
2.?IA32/Windows&Linux高精度計時器(4)
3.?ZMD(3)
4.?尋找最長連續遞增子序列(3)
5.?兩個堆棧模擬一個隊列(3)
亚洲精品乱码久久久久久蜜桃
|
久久精品人人做人人妻人人玩
|
国内精品久久久久久久影视麻豆
|
91久久精品电影
|
久久影院亚洲一区
|
欧美日韩久久中文字幕
|
亚洲狠狠婷婷综合久久久久
|
久久精品免费观看
|
青春久久
|
91精品国产综合久久香蕉
|
久久精品国产精品亚洲精品
|
久久亚洲国产精品一区二区
|
久久久噜噜噜久久中文字幕色伊伊
|
中文国产成人精品久久不卡
|
国产精品无码久久四虎
|
久久精品国产99国产精品导航
|
99久久精品国产一区二区蜜芽
|
五月丁香综合激情六月久久
|
久久久久人妻一区精品
|
www.久久精品
|
午夜精品久久久久久久久
|
久久久久久精品久久久久
|
久久影院久久香蕉国产线看观看
|
国产精品一区二区久久
|
无码精品久久久天天影视
|
国产免费福利体检区久久
|
国产精品美女久久久久网
|
久久青青草原精品国产
|
国产精品一区二区久久精品涩爱
|
久久精品国产精品亜洲毛片
|
66精品综合久久久久久久
|
精品午夜久久福利大片
|
精品蜜臀久久久久99网站
|
亚洲AV无码成人网站久久精品大
|
欧美无乱码久久久免费午夜一区二区三区中文字幕
|
国产福利电影一区二区三区久久老子无码午夜伦不
|
丰满少妇人妻久久久久久4
|
久久婷婷久久一区二区三区
|
精品久久久久久中文字幕人妻最新
|
亚洲午夜久久久久久久久久
|
亚洲狠狠婷婷综合久久久久
|