串的存储结构
//------串的定长顺序存储-------
作用局限 其实就是 限定长度的 string
#define MAXSIZE 255
typedef struct{
char ch[MAXSIZE+1];
}SString;
//------串的堆式顺序存储结构-----
不限长度的string
typedef struct{
char *ch;
}HString;
//------串的链式存储结构--------
#define CHUNKSIZE 80
typedef struct Chunk{
char ch[CHUNKSIZE];//相当于CHUNKSIZE个结点
struct Chunk *next;//指针域
}Chunk;
typedef struct{
Chunk *head,*tail; //头尾指针
}LString;
串的模式匹配算法
BF算法 //从pos位置开始查找 存在则返回T在S中的第一次出现的位置 不存在返回-1
#include<iostream>
using namespace std;
char a[100],b[100];
int n;
int Index_BF(char S[],char T[],int pos)
{
int i=pos;
int j=0;
while(S[i+j]!='\0'&&T[j]!='\0')
{
if(S[i+j]==T[j]) j++;
else
{
i++;
j=0;
}
}
if(T[j]=='\0') return i;
}
int main()
{
cin>>a>>b>>n;
cout<<Index_BF(a,b,n);
return 0;
}