//Brute-Force算法 模式匹配 //
//Author:Wang Yong //
//Date: 2010.8.19 //
#include <stdio.h>
#include <stdlib.h>
#define MAX 100
/
//定义串的类型
typedef struct
{
char ch[MAX];
int len;
} String;
//串的初始化
void StringInit(String &str,char ctr[])
{
int i;
for(i = 0 ; ctr[i] != '\0'; i++)
str.ch[i] = ctr[i];
str.len = i;
}
//Brute-Force算法1
int Brute_Force(String s,String t)
{
int i;
for(i = 0 ; i < s.len;i++)
{
if(s.ch[i] == t.ch[0])
{
int j,k = 1;;
j = i;
while(j++)
{
if(k == t.len - 1)
return i+1;
if(s.ch[j] != t.ch[k])
break;
if(s.ch[j] == t.ch[k])
k++;
}
}
}
return 0;
}
//
int main()
{
char c1[100],c2[100];
printf("请出入字符串:");
scanf("%s",c1);
printf("请输入子串:");
scanf("%s",c2);
String s1,s2;
StringInit(s1,c1);
StringInit(s2,c2);
int i;
i = Brute_Force(s1,s2);
if(i)
printf("匹配的位置为:%d \n",i);
else
printf("不匹配\n");
return 0;
}
转载于:https://www.cnblogs.com/newwy/archive/2010/10/10/1847469.html