国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

ASP.NET從字符串中查找字符出現(xiàn)次數(shù)的具體實現(xiàn)方法

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 22:40:24
文檔

ASP.NET從字符串中查找字符出現(xiàn)次數(shù)的具體實現(xiàn)方法

ASP.NET從字符串中查找字符出現(xiàn)次數(shù)的具體實現(xiàn)方法:首先想到的方法當(dāng)然是從頭遍歷字符串并統(tǒng)計: 代碼如下:c1=0;for(inti=0;i {if(str[i]=='A'){c1++;}} 第二種方法也很容易想到,將字符串中所有要查找的字符去除,然后比較去除前后的字符串長度即可。這種方法遭到了某人的鄙視,據(jù)說性能很差而且多占空間。
推薦度:
導(dǎo)讀ASP.NET從字符串中查找字符出現(xiàn)次數(shù)的具體實現(xiàn)方法:首先想到的方法當(dāng)然是從頭遍歷字符串并統(tǒng)計: 代碼如下:c1=0;for(inti=0;i {if(str[i]=='A'){c1++;}} 第二種方法也很容易想到,將字符串中所有要查找的字符去除,然后比較去除前后的字符串長度即可。這種方法遭到了某人的鄙視,據(jù)說性能很差而且多占空間。

首先想到的方法當(dāng)然是從頭遍歷字符串并統(tǒng)計:
代碼如下:
c1=0;
for(inti=0;i {
if(str[i]=='A')
{
c1++;
}
}

第二種方法也很容易想到,將字符串中所有要查找的字符去除,然后比較去除前后的字符串長度即可。這種方法遭到了某人的鄙視,據(jù)說性能很差而且多占空間。
代碼如下:
c2=str.Length-str.Replace("A",String.Empty).Length;

接下來某人又提出了第三種方法,是用要查找的字符為分隔符,將原字符串分隔為多個子串,然后求子串的數(shù)目即可。在C#中這是一個寫起來很短的方法:
代碼如下:
c3=str.Split(newchar[]{'A'}).Length-1;

我們從原理可以推斷出三者性能的順序,但究竟差距是多少呢,還是要動手試驗一下。這是非常經(jīng)典的測試代碼:

代碼如下:
stringstr="SADTHDGSAFSDGTGHRDGSADFADDRHDFSGASDAA";

Stopwatchsw=newStopwatch();

longt;
intc=0;
GC.Collect();
Application.DoEvents();

sw.Start();

for(inti=0;i<100000;i++)
{
c=三種算法
}

sw.Stop();

t=sw.ElapsedMilliseconds;

首先我們確保正確性,經(jīng)測試三種方法都能正確處理多種情況,包括首尾、連續(xù)出現(xiàn)、不出現(xiàn)或串長度為0等,我所取的字符串是一個很普通的串。編譯為Release版,預(yù)運行10次后獲得以下結(jié)果:

遍歷統(tǒng)計:13毫秒
替換后比較長度:112毫秒
斷開字符串后計數(shù):233毫秒

這里已經(jīng)體現(xiàn)出差異,遍歷統(tǒng)計比替換后比較要快10倍,斷開字符串又要慢一些。接下來我又做了如下兩個測試:

1、不改變字符串的長度,增加或減少要查找字符串的個數(shù)。
2、不改變要查找字符出現(xiàn)的頻率,但增長字符串的長度。

結(jié)果發(fā)現(xiàn),三種方法都隨字符串長度增加線性變慢,而后兩種方法還隨要查找的字符增加而變慢。

斷開字符串的方法還受要查找字符串分布情況的影響。

研究Replace函數(shù)和Split函數(shù)的實現(xiàn)可以徹底解決這個問題。不過我沒有心情細細研究了,我還是決定選用第二種方法——替換后比較長度。雖然其速度比第一種方法慢,但易于改寫為求長度不為1的子串出現(xiàn)次數(shù)的方法。第一種方法若改為求長度大于1的字串就要考慮很多因素(盡管不一定真的很麻煩),我懶得想了,呵呵。

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

ASP.NET從字符串中查找字符出現(xiàn)次數(shù)的具體實現(xiàn)方法

ASP.NET從字符串中查找字符出現(xiàn)次數(shù)的具體實現(xiàn)方法:首先想到的方法當(dāng)然是從頭遍歷字符串并統(tǒng)計: 代碼如下:c1=0;for(inti=0;i {if(str[i]=='A'){c1++;}} 第二種方法也很容易想到,將字符串中所有要查找的字符去除,然后比較去除前后的字符串長度即可。這種方法遭到了某人的鄙視,據(jù)說性能很差而且多占空間。
推薦度:
標(biāo)簽: 查找的 字符串 字符串中
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 99999久久久久久亚洲 | 亚洲国产精品综合久久网络 | 精品一区二区三区亚洲 | 亚洲激情在线观看 | 欧美色亚洲 | 中文亚洲欧美日韩无线码 | 欧美综合视频 | 美日韩在线视频 | 亚洲国产精品久久久久久 | 国产视频一区二区在线观看 | 美女视频黄a视频全免费网站下载 | 精品72久久久久久久中文字幕 | 欧美人善交| 天天操天天曰 | 国产一级理论免费版 | 久久久久久91香蕉国产 | 久久精品国产三级不卡 | 国产精品国产三级国产普通话一 | 人人添人人澡人人澡人人人爽 | 免费黄毛片 | 精品欧美一区二区三区精品久久 | 国产成人精品一区二区三区 | 久久久久无码国产精品一区 | 欧美国产日韩一区二区三区 | 黄色毛片免费观看 | 国产成人乱码一区二区三区在线 | 国产亚洲精品成人婷婷久久小说 | 日韩美一区二区 | 91福利一区二区 | 在线综合亚洲欧美自拍 | 国产成人精品一区二三区 | 亚洲欧美国产另类 | 成人精品第一区二区三区 | 国产一级特黄a大片99 | 久久99精品久久久久久噜噜 | 国产免费一区二区三区免费视频 | 成人久久精品一区二区三区 | 国产精品高清久久久久久久 | 国产精品欧美激情在线播放 | 精品伊人久久 | 国产精品高清在线观看 |