bfsrch.c

来自「从各种VC源码中精选出来」· C语言 代码 · 共 35 行

C
35
字号
//直观的模式匹配算法(BF算法)。char STR[80]="The 80C552 has two redeced power modes of operation.";//主串。char SUB1[]="80C552";	//模式串1char SUB2[]="80C51";	//模式串2int len (char c[]) //求字符串长度{	int i=0;	while (c[i]) i++;	return i;}int BFSRCH (char M[],char S[]) //BF算法{	int m,n,i,j,k;	m=len(M);	//求主串长度	n=len(S);	//求模式串长度	for (k=0;k<=m-n;k++) { 	//最大匹配操作遍数为:m-n+1		i=k;j=0;	//本次匹配的起点		while (j<n && M[i]==S[j]) {i++;j++;}	//匹配过程		if (j==n) return k;	//匹配成功,返回模式串在主串中的位置		else k++;	//匹配起点向后移动一个字符,继续匹配		}	return -1;	//匹配失败} main ( ){	int f;	f=BFSRCH (STR,SUB1);//匹配成功,f=4	f=BFSRCH (STR,SUB2);//匹配失败,f=-1	while (1) ; //在这一行设置断点,中止程序运行,以便观察程序运行的结果 }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?