数据结构示例之查找子字符串的起始位置
来源:互联网 发布:51单片机控制继电器 编辑:程序博客网 时间:2024/06/06 04:00
以下为“查找子字符串的起始位置”的简单示例
1. 用c语言实现的版本
#include <stdio.h>#include <string.h>/* 查找子字符串的起始位置 */int nfind(char *strSrc, char *strFind){int i = 0, j = -1;int lastSrcPos = strlen(strSrc) - 1; //原始字符串的最大下标值int lastFindPos = strlen(strFind) - 1; //要搜索的字符串的最大下标值int startSrcMatch = 0, endSrcMatch = lastFindPos; //匹配成功的子字符串的起始下标和结束下标值for ( ; endSrcMatch <= lastSrcPos; ++endSrcMatch, ++startSrcMatch){if (strSrc[endSrcMatch] == strFind[lastFindPos]) // 子字符串结束下标处的字符 == 要查找的字符串中最后一个字符 {for (j = 0, i = startSrcMatch; j<lastFindPos && strSrc[i] == strFind[j]; ++j, ++i){}}if (j == lastFindPos){return (startSrcMatch + 1); /* 成功 */}}/*printf("%d %d %d",lasts,lastp,start); *//* 失败 */return -1;}void main(){char strSrc[] = "Sit please";char strFind[] = "please";/* 查找子字符串的起始位置 */int po = nfind(strSrc, strFind);printf("原始字符串:%s\n", strSrc);printf("要查找的字符串:%s\n", strSrc);printf("匹配子字符串的起始位置:%d\n", po);}
运行结果为:
0 0
- 数据结构示例之查找子字符串的起始位置
- 数据结构示例之根据位置和长度删除子字符串
- 用数组实现查找字符串子串的位置-数据结构
- 字符串中查找子字符串的位置
- 数据结构示例之获取子字符串
- 数据结构示例之插入子字符串
- java基础代码----根据日期字符串 查找对应的周期的起始位置和结束位置
- 查找子字符串,并记录查找的第一个子字符串的位置
- 通过字符位置查找子字符串
- 子字符串的查找
- python 判断字符串中的的起始、终止子字符串
- 给定字符串查找子串,返回子串出现的位置
- 窗体位置的起始位置
- 查找字符串出现的位置
- 查找字符串位置的方法
- 数据结构示例之复制字符串
- 数据结构示例之字符串替换
- 数据结构示例之字符串比较
- 神经网络五:常用的激活函数
- 根据前序遍历序列和中序遍历序列创建二叉树
- Leftmost Digit
- hive多表连接带where查询结果插入到新表的优化
- SQL中EXISTS的用法
- 数据结构示例之查找子字符串的起始位置
- 《Guava学习笔记之一》:不可变集合Immutable
- 【原博客迁移】Hexo 安装与配置
- ROS学习笔记(一)
- 关键业务系统的JVM参数推荐(2016热冬版)
- poj 1990 MooFest(树状数组变形)
- 洛谷 P1022 [NOIP2000 T4] 计算器的改良
- LeetCode-3. Longest Substring Without Repeating Characters
- Service源码解析