在字符串中查找子字符串的算法

原创 2006年05月19日 15:08:00

#include <stdio.h>

int strlen(char *str)
{
   int i;

   for ( i = 0; str[i] != '/0'; i++ ); /* 用循环计算长度 */
   return i;
}

/* ---------------------------------------- */
/*  在字符串中找寻子字符串                      */
/* ---------------------------------------- */
int strindex(char *str,char *substr)
{
   int end,i,j;

   end = strlen(str) - strlen(substr);  /* 计算结束位置   */
   if ( end > 0 )                      /* 子字符串小于字符串 */
   {
      for ( i = 0; i <= end; i++ )
         /* 用循环比较 */
         for ( j = i; str[j] == substr[j-i]; j++ )
            if ( substr[j-i+1] == '/0' ) /* 子字符串字结束   */
               return i + 1;           /* 找到了子字符串   */
   }
   return -1;
}

/* ---------------------------------------- */
/*  主程式: 在字符串中找寻子字符串出现位置.     */
/* ---------------------------------------- */
void main()
{
   char string[100];                   /* 字符串阵列宣告   */
   char substring[100];                /* 子字符串阵列宣告 */
   int result;                         /* 找寻结果       */

   printf("请输入字符串 ==> ");
   gets(string);                       /* 读取字符串       */
   printf("请输入要搜索的子字符串 ==> ");
   gets(substring);                    /* 读取子字符串     */
   result = strindex(string,substring);  /* 搜寻子字符串   */
   if ( result > 0 )
      printf("子字符串 %s 位置在 %d/n",substring,result);
   else
      printf("没有找到子字符串 %s/n",substring);
   getchar();
}

子字符串查找算法_归纳及汇总

字符串的一种基本操作就是子字符串查找:给定一段长度为N的文本和一段长度为M的模式字符串,在文本中找到一个和该模式相符的字符串。 模式-> ABCDE 正文-> SJAHDJKS”ABCDE”...
  • JonsTank2013
  • JonsTank2013
  • 2016年03月15日 17:44
  • 4269

在字符串中查找子串

/* *在字符串中查找子串 * 题目描述:给定一个字符串A,要求在A中查找一个子串B。 * 如A="ABCDF",要你在A中查找子串B=“CD”。 * 实现substr库函数的功能 */ ...
  • wuwuwuwuwuwuwuwu
  • wuwuwuwuwuwuwuwu
  • 2012年08月18日 11:05
  • 1336

有意思的字符串查找函数strchr,strrchr,strstr,strrstr

每日一编程,希望再接再厉!
  • qq_34328833
  • qq_34328833
  • 2016年05月06日 15:36
  • 6126

字符串处理算法(四)现在一个给定字符串中寻找子串的功能(不能使用库函数)[2014百度笔试题]

完成一个函数,实现在一个给定字符串中寻找子串的功能(不能使用库函数)。...
  • u011729265
  • u011729265
  • 2013年09月30日 00:01
  • 3567

在一个字符串中查找子串的个数

  • 2010年05月08日 17:08
  • 973B
  • 下载

透彻理解KMP算法 - 字符串匹配/子串查找

好好打下字符串算法基础。本篇通俗、透彻地解释线性时间复杂度的字符串匹配算法:KMP算法。 之前写过KMP算法,但时间久了回顾起来还是要花点儿时间,觉得需要进一步加深;现在就试图彻底吃透它。若是感兴趣...
  • qcx321
  • qcx321
  • 2016年08月17日 21:24
  • 1072

在string中查找字符或字符串

// str_find.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include int main() { usi...
  • zhouzhenhe2008
  • zhouzhenhe2008
  • 2014年11月07日 23:44
  • 2094

C/C++学习笔记32:字符串操作与字符子串问题

前面给出了很多关于对于字符、zi
  • gzbaishabi
  • gzbaishabi
  • 2014年08月27日 14:36
  • 722

C++ 查找字符串中的子串,截取子串前的所有字符

比如:字符串 “cu_f”,现在只要”cu”,也就是去掉”_f” std::string str1=”cu_f”; int pos=0; pos=str1.find(“_f”); ...
  • wushuangge
  • wushuangge
  • 2017年11月01日 16:52
  • 225

Python:数据流中查找特定子串的简单算法

Python:数据流中查找特定子串的简单算法 目录 1 问题背景2 定义:什么是数据流?3 原始方法4 学术上的标准方法5 实用的简单算法 ...
  • cteng
  • cteng
  • 2016年01月04日 18:37
  • 1112
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在字符串中查找子字符串的算法
举报原因:
原因补充:

(最多只允许输入30个字)