• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    求單詞個(gè)數(shù)的三種算法分析

    2010-08-29 12:59:34,付
    科技傳播 2010年22期
    關(guān)鍵詞:字符串數(shù)組空格

    陳 娜 ,付 沛

    1.武漢軟件工程職業(yè)學(xué)院軟件系,湖北武漢 430205

    2.中冶南方(武漢)威仕軟件公司,湖北武漢 430223

    1)由圖1圓圈處可知,當(dāng)遍歷字符串時(shí),當(dāng)滿(mǎn)足條件前一個(gè)字符為空格,后一個(gè)字符不為空,就可以認(rèn)定為一個(gè)單詞的開(kāi)始,單詞個(gè)數(shù)可以加1(特殊情況需要考慮:如果字符串的首字符為空格,則計(jì)算出來(lái)的字符串的單詞個(gè)數(shù)是正確的;如果首字符不為空,則字符串包含的單詞的總個(gè)數(shù)需要加1,細(xì)節(jié)見(jiàn)圖1的菱形框處)。代碼如下。這種算法是找每個(gè)單詞的頭,也可以改變一下思維方式再派生出另外一種寫(xiě)法:找每個(gè)單詞的尾。當(dāng)滿(mǎn)足條件前一個(gè)字符不為空,后一個(gè)字符為空,就可以認(rèn)定為一個(gè)單詞的結(jié)束,單詞個(gè)數(shù)可以加1(特殊情況需要考慮:如果字符串的末字符為空格,則計(jì)算出來(lái)的字符串的單詞個(gè)數(shù)是正確的;如果末字符不為空,則字符串包含的單詞的總個(gè)數(shù)需要加1)。

    圖1

    2)由圖1可知,遍歷字符串時(shí)單詞個(gè)數(shù)是否正確取決于首字符,如果首字符不為空,單詞個(gè)數(shù)需要加1,可以不管字符串首字符是否為空,默認(rèn)給字符串開(kāi)始加一個(gè)空格,引入一個(gè)變量c來(lái)保存前一個(gè)位置的字符,讓它的初始值為空格,相當(dāng)于默認(rèn)所有的字符串的首字符都為空。這樣一來(lái)遍歷數(shù)組后count的值肯定是單詞個(gè)數(shù)。代碼如下:

    3)遍歷數(shù)組,如果第一個(gè)字符遇見(jiàn)非空格,說(shuō)明這是一個(gè)單詞的開(kāi)頭 ,count值加 1,通過(guò)語(yǔ)句“while(i<ch.length && ch[i]!=' ')i++;”找到下一個(gè)空格的下標(biāo)i,如果遇見(jiàn)空格,什么事情都不做,繼續(xù)查看下一個(gè)字符(特別是碰到連續(xù)的空格,語(yǔ)句“if(ch[i]==' ')continue;”用來(lái)跳過(guò)連續(xù)的空格,直到找到一個(gè)非空格為止)。通過(guò)執(zhí)行循環(huán)遍歷數(shù)組,count的值就是單詞的個(gè)數(shù)。其中while語(yǔ)句的條件中使用短路與“&&”很有技巧,使用了短路運(yùn)算符,一旦字符串的最后一個(gè)字符不是空格,執(zhí)行i++后i= ch.length時(shí)條件“i<ch.length”不成立時(shí)直接將第二個(gè)條件“ch[i]!=' '”短路,否則如果使用“&”不短路第二個(gè)條件,會(huì)產(chǎn)生數(shù)組越界異常。代碼如下:

    [1]王路群主編.Java高級(jí)程序設(shè)計(jì)中國(guó)水利水電出版社,2006,8.

    [2]王路群主編.數(shù)據(jù)結(jié)構(gòu)中國(guó)水利水電出版社,2007,2.

    猜你喜歡
    字符串數(shù)組空格
    JAVA稀疏矩陣算法
    趣填成語(yǔ)
    空格填數(shù)
    JAVA玩轉(zhuǎn)數(shù)學(xué)之二維數(shù)組排序
    你來(lái)補(bǔ)缺的數(shù)
    尋找勾股數(shù)組的歷程
    改頭換面
    一種新的基于對(duì)稱(chēng)性的字符串相似性處理算法
    依據(jù)字符串匹配的中文分詞模型研究
    VB數(shù)組在for循環(huán)中的應(yīng)用
    考試周刊(2012年88期)2012-04-29 04:36:47
    宽甸| 徐州市| 靖江市| 敦化市| 榆树市| 吴堡县| 宁晋县| 枝江市| 夹江县| 神农架林区| 平阴县| 南雄市| 云南省| 尚义县| 开原市| 同心县| 泗洪县| 浦北县| 镶黄旗| 新干县| 农安县| 邳州市| 晋城| 石狮市| 葫芦岛市| 温泉县| 博乐市| 兴义市| 礼泉县| 恭城| 邵阳市| 思茅市| 新丰县| 涿鹿县| 收藏| 樟树市| 洪雅县| 屏山县| 梁河县| 通河县| 临安市|