思路如下:1.使用的hashtable(高效)集合,記錄每個單詞出現的次數
2.採用arraylist對hashtable中的keys按字母序排列
3.排序使用插入排序(穩定)
public void statisticswords(string path)hashtable ht = new hashtable(stringcomparer.ordinalignorecase);
streamreader sr = new streamreader(path, system.text.encoding.utf8);
string line = sr.readline();
string wordarr = null;
int num = 0;
while (line.length > 0)
// else
//
//}//line = sr.readline();
wordarr = line.split(' ');
foreach (string s in wordarr)
*]", "", regexoptions.compiled);
//將單詞加入雜湊表
if (ht.containskey(s))
else
}line = sr.readline();
}arraylist keyslist = new arraylist(ht.keys);
//對hashtable中的keys按字母序排列
keyslist.sort();
//按次數進行插入排序【穩定排序】,所以相同次數的單詞依舊是字母序
string tmp = string.empty;
int valuetmp = 0;
for (int i = 1; i < keyslist.count; i++)
keyslist[j] = tmp;//j=0
}//列印出來
foreach (object item in keyslist)
}
演算法 去除英文文字中重複單詞
假設有一段英文文字,其中有重複的單詞,要求去除重複單詞,只保留乙個,例如 hello world hello python 程式輸出為 hello world python 1 首先我們得把這段文字中的每個單詞提取出來 2 提取出每個單詞後,我們只需遍歷這個列表,然後再判斷這個單詞是否存在這個空列表...
C語言資料結構 統計英文文字每個「單詞」出現次數
假設每行文字長度不超過80個字元,每個單詞由空格分隔,單詞長度不超過20個字元。現在要從鍵盤上輸入一段英文文字,當輸入 stop 後,結束輸入過程。先程式設計統計在這段文字中每個單詞出現的個數。通過空格判斷單詞,單詞存放在結構體當中,search函式檢測當前單詞是否為重複出現的單詞 cut函式分隔字...
統計乙個文字的字元 單詞數
文字操作是最常見的,以例子的形式來驅動程式的編寫 encoding utf 8 import time keep defnormalize s 大寫轉換成小寫,並且剔除數字等開頭或不在列表中的字元,返回正常字串 result for c in s.lower if c in keep result ...