⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bfsrch.c

📁 在定时器中断中做LED的PWM输出 AT89C2051实现A/D转换的C51程序 单片机开发系统 指令系统 程序设计 定时与中断 系统扩展 接口技术 串行口
💻 C
字号:
//直观的模式匹配算法(BF算法)。

char STR[80]="The 80C552 has two redeced power modes of operation.";//主串。
char SUB1[]="80C552";	//模式串1
char SUB2[]="80C51";	//模式串2

int 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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -