zoukankan      html  css  js  c++  java
  • 词频统计的完善版

    struct LNode *Create()
    {
        LinkList L;
        L=(LinkList)malloc(sizeof(LNode));
        L->next=NULL; 
        return L;
    }
    

     创建一个带有头节点的单链表

    bool Find(LinkList &L,char a[20])//查找单词
    {
        LNode *p;
        p=L->next;
        while(p!=NULL)
        {
            if(strcmp(a,p->c)==0){//找到单词
                p->count++;//计数加一
                return true;
            }
            else p=p->next;
        }
        return false;
    }
    

     判断新搜索的单词是否和原来的一样,若是一样则在相应节点的结构体里加一

    void Insert(LinkList &L,char a[20])
    {
        LNode *p;
        p=(LinkList)malloc(sizeof(LNode));
        strcpy(p->c,a);
        p->count=1;
        p->next=L->next;
        L->next=p;
    }
    

     若是搜索到的单词和之前的结果全都不一样,再新建立一个节点,词数计为1.

    void SelectSort(LinkList &L){
    	LNode *p,*q;
    	p=(LinkList)malloc(sizeof(LNode));
    	q=(LinkList)malloc(sizeof(LNode));
    	char tempc[20];
    	int temp;
        for (p=L->next; p!=NULL; p=p->next)
        {
            for (q = p; q!=NULL; q=q->next)
            {
                if (p->count < q->count)
                {
                    temp=p->count;
    				strcpy(tempc,p->c);
                    p->count=q->count;
    				strcpy(p->c,q->c);
    				q->count=temp;
    				strcpy(p->c,tempc);
                }
            }
    

     运用的选择排序对词数进行排序。

    printf("请输入文件名:");
    	scanf("%s",&input);
    	FILE *fp;
    	if((fp=fopen(input, "r"))==NULL)
        {
            printf("无法打开文件
    ");
            exit(0);
        

    根据文件名读入文本文件。

  • 相关阅读:
    eclipse安装Aptana 插件,支持Javascript
    C++字符串转换成uint64类型
    C语言字节对齐
    Windows版本Traceroute
    ubuntu下使用FireBug调试Javascript脚本
    TCP拥塞控制图
    nodejs点滴
    你应该知道的16个Linux服务器监控命令
    C语言运算符(转载)
    常用正则表达式
  • 原文地址:https://www.cnblogs.com/duq11/p/5870032.html
Copyright © 2011-2022 走看看