//
// Created by ys on 2019/4/12.
//

#ifndef DATASTRUCT_STRING_H
#define DATASTRUCT_STRING_H

struct Node
{
    char *str;
    int length;
};
typedef struct Node String;

void test();


//初始化串
void SeqStringInit(String *S, char *s);
//串的赋值操作
void SeqStringAssign(String *S, String *T);
//串的连接
void SeqStringContact(String *S, String *T);
//判断字符串是否相等
int SeqStringEqual(String *S, String *T);
//求子字符串的操作
void SubSeqString(String *S, String *Sub, int strat, int len);
int KMP(String *S, String *P, int *next);
void getNext(char * p, int * next);
//简单匹配算法
int SimpleMatching(String *S, String *P);

void testSimpleMatching();
void testString();

void testKMP();

#endif //DATASTRUCT_STRING_H
