c语言没有向量可以存储单词信息,需要自己定义数据结构,此处方便用了结构体数组,因为无法确定单词数量,所以申请的空间很大,也可以用链表做,但是链表查找较为繁琐,时间上较慢。
#include
#include
#include
#include
//词频统计
//存储单词用结构体
typedef struct node{
char word[26];//一个单词
int count;//出现次数
}wordnode;
wordnode* readfile(char *filename);
void divide_word(char temp[]);
void insert_word(char temp[],wordnode* words,int* count);
void show_word(wordnode* words,int sum);
void sort_word(wordnode* words,int sum);
void swap(wordnode* e1, wordnode* e2);
void quickSort(wordnode* words, int l, int r);
//排序
void swap(wordnode* e1, wordnode* e2){
wordnode tmp = *e1;
*e1 = *e2;
*e2 = tmp;
}
void quickSort(wordnode* words, int l, int r){
if(l >= r) return;
int ref = words[l].count;
int lt = l;
int gt = r;
int i = l + 1;
while(i<=gt){
if(words[i].count < ref) swap(&words[i++], &words[lt++]);
else if(words

本文介绍了使用C语言进行文本词频统计的方法,通过分析《I have a dream》的部分内容,展示了词频统计的实现过程。

被折叠的 条评论
为什么被折叠?



