C语言实现串的匹配算法
来源:互联网 发布:手游运营数据 编辑:程序博客网 时间:2024/05/16 19:03
#include <stdio.h>
#include <string.h>
int index(char str1[],char str2[])//串的模式匹配
{
int i=0,j=0;
while((i<strlen1(str1))&&(j<strlen1(str2)))
{
if(str1[i]==str2[j])
{
++i;
++j;
}
else
{
i=i-j+2;
j=1; //指针回溯,重新开始匹配;
}
}
if(--j<strlen1(str2))
return i-j;
else return 0;
}
int strlen1(char s[])
{
int i=0;
while(s[i]!='\0')i++;
return(i);
}
int main (int argc,char*argv[])
{
char str1[20];
char str2[20];
printf("input str1:\n");
scanf("%s",str1);
printf("input str1:\n");
scanf("%s",str2);
printf("%d\n",index(str1,str2));
return 0;
}
#include <string.h>
int index(char str1[],char str2[])//串的模式匹配
{
int i=0,j=0;
while((i<strlen1(str1))&&(j<strlen1(str2)))
{
if(str1[i]==str2[j])
{
++i;
++j;
}
else
{
i=i-j+2;
j=1; //指针回溯,重新开始匹配;
}
}
if(--j<strlen1(str2))
return i-j;
else return 0;
}
int strlen1(char s[])
{
int i=0;
while(s[i]!='\0')i++;
return(i);
}
int main (int argc,char*argv[])
{
char str1[20];
char str2[20];
printf("input str1:\n");
scanf("%s",str1);
printf("input str1:\n");
scanf("%s",str2);
printf("%d\n",index(str1,str2));
return 0;
}
0 0
- C语言实现串的匹配算法
- 字符串匹配的RabinKarp算法的c语言实现
- 使用C语言实现串的匹配朴素算法(BF算法)
- 字符串匹配算法的C/C++语言实现
- 字符串匹配算法的C/C++语言实现(一)
- rock c语言实现的带通配符匹配算法
- 常见的字符串匹配算法对比实现C语言版本
- KMP字符串匹配算法C语言实现
- 模式匹配 KMP C语言算法实现
- 字符串匹配--Sunday算法-C语言实现
- kmp算法字符串匹配C语言实现
- C语言实现字符串匹配KMP算法
- 稳定匹配算法 C 语言实现
- C语言实现KMP模式匹配算法
- [算法]字符串匹配算法之BM算法,C语言实现
- 串的KMP模式匹配算法(优化) ----- C语言
- c语言:字符串匹配的KMP算法
- 字符串匹配算法(KMP算法c语言实现)
- 调试 错误信息
- OSX EI Capitan java 6不能安装问题
- 程序员书单_数据结构和算法篇
- HDOJ 1091 A+B for Input-Output Practice (III)
- 协议[I2C]_I2C子系统之platform_driver初始化——I2C_adap_s3c_init()
- C语言实现串的匹配算法
- 2015 Bossie评选:最佳开源大数据工具
- delete 指针之后 ,只是释放了指针指向的内存空间,指针不会自动置为NULL,还有delete 遇到指针为NULL时不会调用析构函数
- HDOJ 1092 A+B for Input-Output Practice (IV)
- 协议[I2C]_I2C子系统之I2C总线时钟频率设置
- Mac OS X 下Qt 安装完整手册
- 专题列表常用到的闭包
- 程序员书单_软考篇
- swift开发笔记13 - 添加图表(饼状图)