您当前的位置: 首页 > 

跋扈洋

暂无认证

  • 2浏览

    0关注

    221博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

字符串匹配:字符串中查找某子串

跋扈洋 发布时间:2022-02-14 18:19:48 ,浏览量:2

字符串匹配:字符串中查找某子串
  • 需求
  • 具体算法
    • 常规方法
      • 程序
    • KMP算法
      • 程序
    • 后续

需求

我们在平时的软件开发,尤其是嵌入式开发,字符串匹配是非常重要的一个算法。而目前常用的字符串匹配算法有很多,下面就来介绍几个。

具体算法 常规方法

对于字符串存放在字符数组的定长顺序存储结构中,可以利用计数指针指示主串和模式串当前正在比较的字符位置。算法的基本思路是:从主串的第i个字符起和模式串的第一个字符比较。若相等,则继续比较后续字符;否则从主串的下一个字符起再重新和模式串的第一个开始比。知道模式串被比较完成,代表主串中存在模式串。

程序
int index(string S,stringT,int pos)
{
    int i,j;
    i=pos;
    j=1;
    while(i 0,代表下次匹配跳到j 之前的某个字符,而不是跳到开头,且具体跳过了k 个字符。

程序

首先我们需要求next数组

typedef struct
{	
	char data[MaxSize];
	int length;			//串长
} SqString;
void GetNext(SqString t,int next[])		//由模式串t求出next值
{
	int i,k;
	i=0;k=-1;
	next[0]=-1;//第一个字符前无字符串,给值-1
	while (i            
关注
打赏
1663745539
查看更多评论
0.0361s