欢迎来到天天文库
浏览记录
ID:34471678
大小:50.00 KB
页数:13页
时间:2019-03-06
《数据结构c语言版索引表》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、数据结构C语言版索引表.txt明骚易躲,暗贱难防。佛祖曰:你俩就是大傻B!当白天又一次把黑夜按翻在床上的时候,太阳就出生了/*数据结构C语言版索引表P86-P87编译环境:Dev-C++4.9.9.2日期:2011年2月8日说明一下,常用词表文件的数据,第一行是词表含有的常用词个数,然后每一行一个词,都是以回车符结束的。书目文件,每一行前面三个字符是书号,后面紧接着是书名,而没有空格,每一行一本书,以回车符结束。文件以一个空行结束。注意是回车符结束,这个要用编辑器显示了回车符的才能够看到,我就是
2、不小心删了,然后一直出错的。*/#include#include#include#includetypedefintElemType;//串的堆分配存储typedefstruct{char*ch;//若是非空串,则按串长分配存储区,否则ch为NULLintlength;//串长度}HString;//带头结点的线性链表类型typedefstructLNode//结点类型{ElemTypedata;structLNode
3、*next;}LNode,*Link,*Position;typedefstructLinkList//链表类型{Linkhead,tail;//分别指向线性链表中的头结点和最后一个结点intlen;//指示线性链表中数据元素的个数}LinkList;//这里将有三个表,词表(一本书中的关键词),索引表,常用词表#defineMaxKeyNum25//索引表的最大容量(关键词的最大数)#defineMaxLineLen100//书目串(书名+书号)buf的最大长度#defineMaxWordNu
4、m10//词表(一本书的关键词)的最大容量#defineMaxNoIdx10//常用词(仅指大写)的最大数typedefstruct_WordListType{char*item[MaxWordNum];//词表(字符串)指针数组intlast;//词的数量}WordListType;//词表类型(顺序表)typedefstruct{HStringkey;//关键词(堆分配类型,HString.h)LinkListbnolist;//存放书号索引的链表(LinkList.h)}IdxTermTy
5、pe;//索引项类型typedefstruct{IdxTermTypeitem[MaxKeyNum+1];intlast;//关键词的个数}IdxListType;//索引表类型(有序表)typedefstruct{char*item[MaxNoIdx];//常用词表指针数组intlast;//常用词的数量}NoIdxType;//常用词表类型(有序表)//全局变量charbuf[MaxLineLen+1]={' '};//当前书目串(包括' ')WordListTypewdlist;//暂
6、存一本书的词表NoIdxTypenoidx;//常用词表#defineMaxBookNum10//假设只对10本书建索引表#defineMaxKeyNum25//索引表的最大容量(关键词的最大数)#defineMaxLineLen100//书目串(书名+书号)buf的最大长度typedefstruct{charbookname[MaxLineLen];//书目串intbookno;//书号}BookTermType;//书目项类型typedefstructBookListType//书目表类型(
7、有序表){BookTermTypeitem[MaxBookNum];intlast;//书目的数量}BookListType;//书目表类型(有序表)//生成一个其值等于串常量chars的串TintStrAssign(HString*T,char*chars){inti,j;if((*T).ch)free((*T).ch);//释放T原有空间i=strlen(chars);//求chars的长度iif(!i){//chars的长度为0(*T).ch=NULL;(*T).length=0;}els
8、e{//chars的长度不为0(*T).ch=(char*)malloc(i*sizeof(char));//分配串空间if(!(*T).ch)//分配串空间失败exit(0);for(j=0;jT,则返回值>0;若S=T,则返回值=0;若
此文档下载收益归作者所有