zoukankan
html css js c++ java
串的模式匹配算法之二:首尾匹配算法
using
System;
namespace
EasyIndex
{
class
Index
{
static
void
Main(
string
[] args)
{
string
s
=
"
acabaabcaabaabcac
"
;
string
m
=
"
abaabcac
"
;
int
i
=
0
;
int
j
=
0
;
while
(i
<
s.Length
&&
j
<
m.Length)
{
if
(s[i]
==
m[
0
])
//
判断两串的第一个元素是否相等
{
if
(s[i
+
m.Length
-
1
]
==
m[m.Length
-
1
])
//
如果头元素相等,再判断尾元素是否相等;
{
i
=
1
;
j
=
0
;
while
(i
<
s.Length
&&
j
<
m.Length)
//
如果头尾都相等,再从第二个元素到倒数第二个元素判断;
{
if
(s[i]
==
m[j])
{
i
++
;
j
++
;
}
else
{
i
=
i
-
j
+
1
;
j
=
0
;
}
}
}
else
{
i
=
i
-
j
+
1
;
j
=
0
;
}
}
else
{
i
=
i
-
j
+
1
;
j
=
0
;
}
}
if
(j
>=
m.Length)
//
说明m是s的一个子串,而且pos是i-m.Lengh+1,因为数组从0开始计数;
{
Console.WriteLine(
"
m与s中第
"
+
Convert.ToString(i
-
m.Length
+
1
)
+
"
个元素开始的子串相匹配!
"
);
}
else
{
Console.WriteLine(
"
m不是s的子串!
"
);
}
}
}
}
查看全文
相关阅读:
在javaWeb 工程中 tomcat 的 web.xml 文件配置
Spring 框架详解
构建工具 Maven和Gradle对比
idea 创建Javaweb 动态工程
服务器后端 项目代码常用目录图
ET模式下的EPOLLOUT
linux recv 参数len设置为0
fork 和 exec 对子进程继承父进程处理信号处理函数的影响
lua元表以及元方法
Linux网络编程“惊群”问题总结
原文地址:https://www.cnblogs.com/gmq/p/515610.html
最新文章
将excel2003文档文件转换为excel2007格式
Google加强版权保护
GUI用户界面编程
BCG界面库下的Windows8 UI界面样式www.webui8.com
Xceed Ultimate Suite Xceed界面控件套包下载
软件开发过程-------瀑布模型、原型模型、螺旋模型、敏捷开发模型
Maven项目中的配置
Maven3的环境配置
关于线程的整理
MyBatis的一对一
热门文章
使用Maven简单配置Mybatis
Hibernate对象的三种状态,瞬时态、持久态、游离态
在SSH项目中实现分页效果
手动整合实现SSH项目开发02
手动整合实现SSH项目开发01
springboot 启动执行日志
tomcat 体系结构详解
JavaWeb项目 中集成 Spring 框架
Javaweb 工程中 监听器 listener,过滤器 Filter,服务 Servlet 讲解
spring ibatis struct1.structs2 hibernate 等框架结构图
Copyright © 2011-2022 走看看