📄 word.cc
字号:
#include <stdio.h>#include <stdlib.h>#include <ctype.h>#include <string.h>#include <iostream.h>#include "Word.h"Word::Word(char *str){ nameList = (nameNode *)malloc(sizeof(nameNode)); nameList->name = new char[strlen(str)+1]; nameList->next = NULL; strcpy(nameList->name,str); left = NULL; right = NULL; occurrence = 0; isFeat = 0; docList = NULL; docListTail = NULL; }Word::~Word(){}int Word::stemStrcmp(char *str){ int r,s,t; nameNode *ptr; ptr = nameList; r = 1; while(ptr!=NULL && r!=0){ r = strcmp(ptr->name,str); ptr = ptr->next; } ptr = nameList; s = 1; while(ptr!=NULL && r!=0 && s!=0){ s = namecmp(ptr->name,str); ptr = ptr->next; } if(r == 0){ t = 0; }else if(s == 0){ nameNode *temp; temp = (nameNode *)malloc(sizeof(nameNode)); temp->name = new char[strlen(str)+1]; strcpy(temp->name,str); temp->next = nameList; nameList = temp; t = 0; }else if(s != 0){ t = s; } return t;}int Word::namecmp(char *name,char *str){ int result; result = strcmp(name,str); if(result != 0){ int i,len1,len2,len,l; double v,avelen; len1 = strlen(name); len2 = strlen(str); if(len1 > len2){ len = len2; }else{ len = len1; } l = 0; i = 3; while(i<=len && l==0){ if(strncmp(name,str,i) == 0){ i++; }else{ l = 1; } } i--; avelen = (len1+len2)/2.0; v = ((double) i)/avelen; if(i>=3 && v>Threshold){ result = 0; } } return result;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -