free(h->table);
}
void invertfile_traverse(if_t *h){
word_t *w;
wf_t* wf,*cur;
for(int i=0;i<h->tablelen;i++){
w=(word_t*)h->table[i];
wf=(wf_t*)w->link;
printf("word_id:%d;",w->id);
while(wf!=NULL){
cur=wf;
wf=(wf_t*)wf->next;
printf("d_id:%d,freq:%d;",cur->d_id,cur->refered);
}
printf("\n");
}
}
测试文件main.cpp
[cpp]
#include"invert.h"
int main(){
if_t *f=invertfile_create(10);
invertfile_insert(f,1,1);
invertfile_insert(f,1,1);
invertfile_insert(f,1,3);
invertfile_insert(f,2,5);
invertfile_traverse(f);
invertfile_free(f);
}
实验结果:
[cpp]
word_id:0;
word_id:1;d_id:3,freq:1;d_id:1,freq:2;
word_id:2;d_id:5,freq:1;
word_id:3;
word_id:4;
word_id:5;
word_id:6;
word_id:7;
word_id:8;
word_id:9;