您的位置:首页 > 理论基础 > 数据结构算法

数据结构作业串通配符匹配问题

2009-10-06 12:00 309 查看
采用顺序结构存储串,编写一个一个实现串通配符匹配的函数,其中通配符只有'?',他可以和任意字符匹配,for example:原串:where are you re? 匹配串?re
则返回3个匹配。码子如下:


#include<iostream>
#include<cstring>
using namespace std;
int main()
{
int k,i,j,lena,lenb;
char str[100],substr[100];
gets(str);
getchar();
gets(substr);
lena=strlen(str);
lenb=strlen(substr);
int num=0;
for(i=0;i<lena;i++)
{
for(j=i,k=0;k<lenb && (str[j]==substr[k] || substr[k]=='?');k++)
if(substr[k]!='?')
j++;
if(k==lenb)
num++;
}
if(num!=0)
printf("共找到 %d个匹配/n",num);
else
printf("%c 没找到/n",'$'-'#');
return false;
}


思路也比较清晰,类似朴素的求字串位置。。。各位想必能一目了然。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: