现在的位置: 首页 > 综合 > 正文

传统字符串匹配算法–Brute Force算法的C代码实现

2019年04月25日 ⁄ 综合 ⁄ 共 530字 ⁄ 字号 评论关闭
#include<stdio.h>
#include<string.h>

typedef char Elemtype;

void NativeStrMatching( Elemtype *Target, Elemtype *Pattern )
{
	int Tarlen = 0;
	int Patlen = 0;
	int flag = 0;

	Patlen = strlen( Pattern );

	while( *Target != '\0' ) {
		for( int i=0; i<Patlen; i++ ) {
			if( *(Target+i) != *(Pattern+i) )
				break;
		}

		if( i == Patlen ) {
			printf("位置%d处匹配成功!\n", Tarlen+1);
			flag = 1;
		}
		
		Tarlen++;
		Target++;
	}
	
	if( 0 == flag )
		printf("匹配不成功!\n");
}

int main()
{
	Elemtype TargetStr[30];
	Elemtype PatternStr[5];

	printf("请输入目标字符串: ");
	gets(TargetStr);

	printf("请输入模式字符串: ");
	gets(PatternStr);

	NativeStrMatching( TargetStr, PatternStr );

	return 0;
}

抱歉!评论已关闭.