欢迎来到天天文库
浏览记录
ID:38699120
大小:93.50 KB
页数:23页
时间:2019-06-17
《实验四:二叉树的操作 数据结构系统上实验代码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、#include#include#include#defineMAXSTRLEN255typedefunsignedcharSString[MAXSTRLEN+1];voidget_next(SStringT,intnext[]){inti=1,j=0;next[1]=0;while(i2、3、T[i]==T[j]){i++;j++;next[i]=j;}elsej=next[j];}}intmain(){intnext[MAXS4、TRLEN],n,i,j;charch;SStringS;scanf("%d",&n);ch=getchar();for(i=1;i<=n;i++){ch=getchar();for(j=1;j<=MAXSTRLEN&&(ch!='');j++){S[j]=ch;ch=getchar();}S[0]=j-1;get_next(S,next);printf("NEXTJis:");for(j=1;j<=S[0];j++)printf("%d",next[j]);printf("");}return0;}2225、222222222222222222222222222222222222222222222222222222222222222222222222222#include#include#include#defineTRUE1#defineFALSE0#defineOK1#defineERROR0#defineINFEASLBLE-1#defineOVERFLOW-2#defineMAXSTRLEN255typedefunsignedcharSString[6、MAXSTRLEN+1];voidget_next(SStringT,intnext[]){inti=1,j=0;next[1]=0;while(i7、8、T[i]==T[j]){i++;j++;next[i]=j;}elsej=next[j];}}intIndex_KMP(SStringS,SStringT,intpos){intnext[MAXSTRLEN],i=pos,j=1;get_next(T,next);while(i<=S[0]&&j<=T[0]){if(j==09、10、S[i]=11、=T[j]){++i;++j;}elsej=next[j];}if(j>T[0])returni-T[0];elsereturn0;}intmain(){intn,i,j,pos;charch;SStringS,T;scanf("%d",&n);ch=getchar();for(j=1;j<=n;j++){ch=getchar();for(i=1;i<=MAXSTRLEN&&(ch!='');i++){S[i]=ch;ch=getchar();}S[0]=i-1;ch=getchar();for(i=1;i<=12、MAXSTRLEN&&(ch!='');i++){T[i]=ch;ch=getchar();}T[0]=i-1;pos=Index_KMP(S,T,0);printf("%d",pos);}return0;}实验五实验五实验五实验五实验五实验五实验五实验五实验五实验五实验五实验五实验五111111111111111111111111111111111111111111111111111111111111111111111111111111#include#include13、#defineTRUE1#defineFALSE0#defineOK1#defineERROR0#defineINFEASIBLE-1#defineOVERFLOW-2typedefintStatus;typedefcharElemType;typedefstructBiTNode{ElemTypedata;structBiTNode*lchild,*rchild;}BiTNode,*BiTree;BiTreeCreateBiTree(BiTree&T){charch;scanf("%c",&ch);if(ch==14、'#')T=NULL;else{if(!(T=(BiTNode*)malloc(sizeof(BiTNode))))returnERROR;T->data=ch;CreateBiTree(T->lchild);CreateBiTree(T->rchild);}returnT;}StatusVisit(ElemTypee){if(e!='#'){printf(
2、
3、T[i]==T[j]){i++;j++;next[i]=j;}elsej=next[j];}}intmain(){intnext[MAXS
4、TRLEN],n,i,j;charch;SStringS;scanf("%d",&n);ch=getchar();for(i=1;i<=n;i++){ch=getchar();for(j=1;j<=MAXSTRLEN&&(ch!='');j++){S[j]=ch;ch=getchar();}S[0]=j-1;get_next(S,next);printf("NEXTJis:");for(j=1;j<=S[0];j++)printf("%d",next[j]);printf("");}return0;}222
5、222222222222222222222222222222222222222222222222222222222222222222222222222#include#include#include#defineTRUE1#defineFALSE0#defineOK1#defineERROR0#defineINFEASLBLE-1#defineOVERFLOW-2#defineMAXSTRLEN255typedefunsignedcharSString[
6、MAXSTRLEN+1];voidget_next(SStringT,intnext[]){inti=1,j=0;next[1]=0;while(i7、8、T[i]==T[j]){i++;j++;next[i]=j;}elsej=next[j];}}intIndex_KMP(SStringS,SStringT,intpos){intnext[MAXSTRLEN],i=pos,j=1;get_next(T,next);while(i<=S[0]&&j<=T[0]){if(j==09、10、S[i]=11、=T[j]){++i;++j;}elsej=next[j];}if(j>T[0])returni-T[0];elsereturn0;}intmain(){intn,i,j,pos;charch;SStringS,T;scanf("%d",&n);ch=getchar();for(j=1;j<=n;j++){ch=getchar();for(i=1;i<=MAXSTRLEN&&(ch!='');i++){S[i]=ch;ch=getchar();}S[0]=i-1;ch=getchar();for(i=1;i<=12、MAXSTRLEN&&(ch!='');i++){T[i]=ch;ch=getchar();}T[0]=i-1;pos=Index_KMP(S,T,0);printf("%d",pos);}return0;}实验五实验五实验五实验五实验五实验五实验五实验五实验五实验五实验五实验五实验五111111111111111111111111111111111111111111111111111111111111111111111111111111#include#include13、#defineTRUE1#defineFALSE0#defineOK1#defineERROR0#defineINFEASIBLE-1#defineOVERFLOW-2typedefintStatus;typedefcharElemType;typedefstructBiTNode{ElemTypedata;structBiTNode*lchild,*rchild;}BiTNode,*BiTree;BiTreeCreateBiTree(BiTree&T){charch;scanf("%c",&ch);if(ch==14、'#')T=NULL;else{if(!(T=(BiTNode*)malloc(sizeof(BiTNode))))returnERROR;T->data=ch;CreateBiTree(T->lchild);CreateBiTree(T->rchild);}returnT;}StatusVisit(ElemTypee){if(e!='#'){printf(
7、
8、T[i]==T[j]){i++;j++;next[i]=j;}elsej=next[j];}}intIndex_KMP(SStringS,SStringT,intpos){intnext[MAXSTRLEN],i=pos,j=1;get_next(T,next);while(i<=S[0]&&j<=T[0]){if(j==0
9、
10、S[i]=
11、=T[j]){++i;++j;}elsej=next[j];}if(j>T[0])returni-T[0];elsereturn0;}intmain(){intn,i,j,pos;charch;SStringS,T;scanf("%d",&n);ch=getchar();for(j=1;j<=n;j++){ch=getchar();for(i=1;i<=MAXSTRLEN&&(ch!='');i++){S[i]=ch;ch=getchar();}S[0]=i-1;ch=getchar();for(i=1;i<=
12、MAXSTRLEN&&(ch!='');i++){T[i]=ch;ch=getchar();}T[0]=i-1;pos=Index_KMP(S,T,0);printf("%d",pos);}return0;}实验五实验五实验五实验五实验五实验五实验五实验五实验五实验五实验五实验五实验五111111111111111111111111111111111111111111111111111111111111111111111111111111#include#include
13、#defineTRUE1#defineFALSE0#defineOK1#defineERROR0#defineINFEASIBLE-1#defineOVERFLOW-2typedefintStatus;typedefcharElemType;typedefstructBiTNode{ElemTypedata;structBiTNode*lchild,*rchild;}BiTNode,*BiTree;BiTreeCreateBiTree(BiTree&T){charch;scanf("%c",&ch);if(ch==
14、'#')T=NULL;else{if(!(T=(BiTNode*)malloc(sizeof(BiTNode))))returnERROR;T->data=ch;CreateBiTree(T->lchild);CreateBiTree(T->rchild);}returnT;}StatusVisit(ElemTypee){if(e!='#'){printf(
此文档下载收益归作者所有