void Frequency(WORD *head)
{
int i;
WORD *pre;
WORD *p1;
WORD *p2;
WORD *end = NULL;
WORD *p = head;
while(head->next != end) //冒泡排序
{
p1 = head;
pre = head;
p2 = p1->next;
if(p1->count < p2->count) //先判断前两个单词频率
{
pre = p2;
p1->next = p2->next;
p2->next = p1;
}
else
p1 = p1->next;
p2 = p1->next;
while(p1->next != end) //把最小的一个排到最后
{
if(p1->count < p2->count)
{
pre->next = p2;
p1->next = p2->next;
p2->next = p1;
}
else
p1 = p1->next;
p2 = p1->next;
pre = pre->next;
}
end = p1; //一次排序后,最后一个数已经最小,end往前移
}
for(i=0; i<10; i++) //输出频率前十的单词
{
printf("%s", head->word);
printf("\n");
head = head->next;
}
}