字符串匹配算法

大学狗,期末复习数据结构到模式匹配这一块,顺便就把书上的几个算法详细地写了一遍。

下面这个程序中包含三个字符串匹配的方法,分别是:常规的从左往右匹配法,先首尾后中间匹配法,以及经典的KMP算法。

前两种算法适用于下标从0开始的字符串,KMP算法适用于下标从1开始的字符串。KMP算法处理下标从0开始的字符串,next函数使用的时候会出现问题,

所以只能从下标1开始(所以我测试的字符串的首位是用1占位),如果有大神知到怎样改到可以从零开始,求赐教!!!

编译环境为vs2013

// ConsoleApplication5.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "string.h"
#include "stdlib.h"

//按顺序依次对比,适用于字符串下标从0开始
int IndexOrd(char* S,char* T,int pos)
{
	int s = strlen(S);;
	int t = strlen(T);
	for (int i = pos;i


你可能感兴趣的:(数据结构,字符串处理)