有一個名為topnews.txt的包括若干條英語新聞的文本文件,其中,每條新聞占一個文本段(以回車換行結束).請用類c語言編寫程序,統計其中各英語單詞的出現頻率,並按詞頻降序排列所有單詞.(假設文本文件中所有新聞的長度總和不超過10000個單詞,文本文件以IA結束)
代碼就不寫了,描述算法,希望還能趕上用
數據結構:雙雙向指針鏈表,注意首尾都需要
stuct struct1
{
short count; /*計數*/
short strLen; /*字符串長度*/
char word[16]; /*字符串*/
struct1 wordH; /字典序前面一個單詞*/
struct1 wordE; /字典序後面一個單詞*/
struct1 countH; /排序前面一個計數*/
struct1 countE; /排序後面一個計數*/
};
算法:
每個單詞,按字典序升序那個查找鏈表,使用這個鏈表的目的是提高插入效率
找到,count++,維護計數鏈表;
否則,申請節點內存,寫入信息,維護字典序鏈表,計數鏈表掛最後;
循環插入完成後,按計數鏈表輸出即可。