数据结构 关于模式匹配

帅文浩 帅文浩 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
请问各路大神,t怎么总是0,问题出在哪:

#include <stdio.h>
#include <malloc.h>
#define CHUNKSIZE 1
typedef struct Chunk
{
char ch[CHUNKSIZE];
struct Chunk *next;
}Chunk,*LinkList;
void CreateChunk_L(LinkList &L,int n)
{
LinkList p,q;
L=(LinkList)malloc(sizeof(Chunk));
q=L;
L->next=NULL;
for(int i=n;i>0;--i)
{
p=(LinkList)malloc(sizeof(Chunk));
scanf("%c",&p->ch);
q->next=p;
p->next=NULL;
q=p;
}
}
int Index(LinkList &L,LinkList &S,int pos)
{
LinkList p=L->next,q=S->next;
while(p&&q)
{
int i,j=0;
for(i=pos;i>0;--i)
p=p->next;
while(p&&q)
{
if(!(p->ch==q->ch))
{
if(p->next)
{
p=p->next;
++j;
}
else
{
return 0;
break;
}

}
else
{
if(q->next)
q=q->next;
else
{
return j;
break;
}
}
}

}
}
void main()
{
int t;
LinkList S,T;
CreateChunk_L(S,8);
CreateChunk_L(T,3);
t=Index(S,T,1);
printf("%d",t);
}
...全文

相关推荐

评论 1
收藏 已收藏
分享
返回顶部
帅文浩
C语言 70,039 成员 243,237 内容