正向查找和负向查找

正向查找和负向查找都是字符串中查找子串的过程,不同的是正向查找是从前往后查找,而负向查找则是从后往前查找。

正向查找的代码实现步骤如下:
1.定义一个指针i指向字符串的开头
2.定义一个指针j指向子串的开头
3.依次比较字符串中i和子串中j对应位置的字符是否相同,如果相同则i和j分别后移一位,如果不相同则i回到初始位置的下一位,j回到子串开头的下一位
4.如果找到了子串,则返回子串在字符串中的起始位置,如果找不到则返回-1。

负向查找的代码实现步骤如下:
1.定义一个指针i指向字符串的结尾
2.定义一个指针j指向子串的结尾
3.依次比较字符串中i和子串中j对应位置的字符是否相同,如果相同则i和j分别前移一位,如果不相同则i回到字符串结尾的前一位,j回到子串结尾的前一位
4.如果找到了子串,则返回子串在字符串中的起始位置,即i+1,如果找不到则返回-1。

需要注意的是,在实现两种查找算法时,我们要保证指针i和j的移动不会超出字符串的范围。并且在负向查找中,要先检查子串的长度是否大于字符串的长度,如果是则直接返回-1。

Related Posts

  • 在python中声明一个一维数组
  • 简述小波变换(无数学公式)
  • 一些与计算机有关的名词的解释,适用于日常生活4.0
  • 台湾服务器的优点和缺点有哪些
  • 欢迎使用CSDN-markdown编辑器-保留使用
  • 如何让传统行业产品经理进行产品创新NPDP策略有哪些
  • 怎样获取Winform项目中的图片资源并将其转换为Image对象
  • vagrant up无法运行,提示未找到’PROVIDER’
  • “在 vscode 上设置 plantuml”
  • 题目四的换句话是:”输出一张表格”
  • QQ屏幕取点工具
  • VB6中字符串可分为最多25行
  • 仅供参考的UML复习资料软件建模技术选择
  • 格式化if判断语句:–Java基础018
  • 如何在大学里变成IT技术高手
  • “建立和管理项目团队”