子串的匹配

// 从src中取出sub
void  subString(  int  start, int  length, char  sub[ 100 ], char  src[ 100 ] )
{
    
int i,j;
    
for (j=0,i=start;i<start+length;j++,i++)
        sub[j] 
= src[i];
    sub[length] 
= '';
}

bool  Match(  char  sub[ 100 ], char  src[ 100 ], int  start ) // 从src start的位置开始匹配sub
{
    
int i;
    
int subLen = strlen(sub);
    
for (i=0;i<subLen;i++)
    
{
        
if (sub[i]!=src[start+i])
            
break;
    }

    
if (i<subLen)
        
return false;
    
else
        
return true;
}


// 判断sub是不是src的子串
bool  isSubString(  char  sub[ 100 ], char  src[ 100 ] )
{
    
int subLen = strlen(sub);
    
int srcLen = strlen(src);
    
int i;
    
bool isSub = false;
    
for (i=0;i<=srcLen-subLen;i++)
    
{
        
if ( Match(sub,src,i) )
        
{    
            isSub 
= true;
            
break;
        }

    }

    
return isSub;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值