統計
」 the_holy_bible_res.txt 「
中字元的個數,行數,單詞的個數,統計單詞的詞頻並列印輸出詞頻最高的前
10 個單詞及其詞頻
#define _crt_secure_no_warnings
#include #include #include #define maxkey 10000
#define swap(a,b)
int hash(char *key)
return h % maxkey;
}typedef struct info
info_t , *pinfo_t;
int isletterofalphabet(char c)//判斷小寫字母
else }
//陣列下標從0開始
//left是堆頂的下標,編號是left+1
//左孩子編號2*left+2,下標是2*left+1
//右孩子編號2*left+3,下標是2*left+2
void adjustminheap(pinfo_t *p , int left , int right)//調整為小頂堆
if (p[father]->num > p[son]->num)
else
}}void buildminheap(pinfo_t *p , int left , int right)//建立小頂堆}/*
沒有用到這個函式,只是提供了一種找出檔案裡的單詞的思路
缺點:如果指標所指向的是檔案裡面第乙個字元,那麼p[-1]就錯了
*/int isword(char *p)
else }
//2int main(int argc , char *ar**)
pinfo_t hashtable[maxkey] = ;
char c;
int n1=0 , n2=1 , n3=0;//字元的個數,行數,單詞的個數
while ((c = fgetc(fp)) != eof)
q->next = p;}*/
if (isletterofalphabet(c))//小寫字母
; char *word = (char*) calloc(1 , 100);
word[i++] = c;
while ((c = fgetc(fp)) != eof && isletterofalphabet(c))
if (hashtable[hash(word)] != null)
if (strcmp(q->address , word) == 0)
else
}else
if (c == eof)//到達檔案尾
}if(c=='\n')//遇到'\n'
}fclose(fp);
printf("字元數%d,行數%d,單詞數%d\n" , n1 , n2 , n3);
pinfo_t a[10] = ;//存放前10大詞頻的結點指標
int flag = 0;//標識是否建立了初始的前10個結點指標的小頂堆
//掃瞄雜湊鍊錶
linux 統計檔案中單詞出現次數
請教 統計檔案a.txt中 每個單詞 的重複出現次數?若該檔案大到幾個g又該如何處理?方案一 bin sh 定義原始檔和臨時檔案 srcfile word.txt tempfile words tempfile words tempfile words uniq tempfile words uni...
python統計單詞出現次數
統計英文兒歌 twinkle twinkle little star 中,使用到的單詞及其出現次數。要求去除單詞大小寫的影響,不統計標點符號的個數,並按降序輸出。twinkle,twinkle,little star,how i wonder what you are up above the wo...
統計文章單詞出現次數
英文文章中的標點符號的處理,單詞大小寫的處理,再將單詞通過字典的統計出現次數,最後用sorted 排序 利用maketrans函式將標點符號對映為空格 table str.maketrans 開啟需要統計的檔案 f open r c python 1.txt file1 f.read f.close...