`
shaojiashuai123456
  • 浏览: 262735 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
社区版块
存档分类
最新评论

朴素算法 --c语言实现

 
阅读更多
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>

int piaoshu(char *s,char *p)
{
     int i,j;
     //间距不断增大 
     for(i=0;i<strlen(s)-strlen(p)+1;i++)
     {
          //进行匹配 
          for(j=0;j<strlen(p);j++)
          {
             if(s[i+j]!=p[j])
             {
                 break;
             }
          }
          //匹配成功返回间距 
          if(j==strlen(p))
          {
              return i;
          }
     }
     return -1;
}


int main()
{
      char s[100];
      char p[100];
      char *str1,*str2;
      while(scanf("%s %s",s,p)!=EOF)
      {
           if(strlen(s)==0||strlen(p)==0) break;
           if(strlen(s)>strlen(p))
           {
              str1=s;
              str2=p;
           }   
           else
           {
              str1=p;
              str2=s;
           }          
           //进行朴素匹配 
           int result=piaoshu(str1,str2);
           printf("position: %d \n",result);
      }
    system("pause");
}

 

分享到:
评论

相关推荐

    朴素贝叶斯算法C语言实现

    分类算法-朴素贝叶斯算法C语言实现

    kmp算法-基于C语言实现KMP算法.zip

    《C语言实现KMP算法详解》 KMP(Knuth-Morris-Pratt)算法是一种在文本串中高效地查找模式串(子串)的字符串匹配算法,由D.E. Knuth、V.R. Morris和J.H. Pratt三位学者于1970年提出。在C语言中实现KMP算法,可以...

    kmp算法-基于C语言实现的kmp模式匹配算法.zip

    当模式串中出现不匹配时,它不会像朴素算法那样回溯到文本串的开头,而是根据已知的“部分匹配表”(也称为“失败函数”或“next数组”)直接跳过不匹配的部分,继续进行比较。 1. 部分匹配表:KMP算法的关键在于...

    编程实现平方-乘算法(C++源码&amp;可执行文件).rar

    平方-乘算法(Square-and-Multiply Algorithm)是计算...通过C++编程实现,我们可以获得高效的算法实现,并通过可执行文件简化操作流程。理解并掌握这种算法及其实现,对于提升密码学和计算机科学领域的技能至关重要。

    最小生成树Prim算法朴素版 C语言实现

    总之,Prim算法朴素版的C语言实现是一个基础但实用的方法,对于理解算法原理非常有帮助。虽然效率较低,但在处理小规模图时仍可接受。为了处理大规模图,可以考虑优化版本,如使用二叉堆或 Fibonacci heap。

    C朴素贝叶斯算法实现

    朴素贝叶斯算法是一种基于概率理论的分类方法,它的...总的来说,C语言实现朴素贝叶斯算法涉及了概率统计、数据处理和算法设计等多个方面的知识,它可以帮助我们理解朴素贝叶斯的核心原理,并在实际项目中灵活应用。

    简单的Boyer-Moore算法的实现C#附源码

    在C#语言中实现该算法,我们可以充分利用其面向对象特性和丰富的库支持,创建一个高效且用户友好的程序。 1. **算法原理** Boyer-Moore算法主要依赖于两个规则:坏字符规则(Bad Character Rule)和好后缀规则...

    基于朴素贝叶斯分类器的文本分类算法(C语言)-综合文档

    在该实现中,我们使用了C语言实现了朴素贝叶斯分类器的算法。我们定义了一个函数CalculateWordProbability,用于计算每个类别下的概率分布。该函数使用了文件操作函数,来统计每个类别下的文件数和总单词数,然后...

    KMP算法C语言实现

    在C语言中实现KMP算法,可以有效地处理字符串匹配问题,避免了朴素算法在匹配过程中频繁的回溯。 KMP算法的核心思想是利用已知的前缀和后缀的关系来提高匹配效率。它构建了一个部分匹配表(也称为失败函数或跳跃表...

    C语言C++数据结构课程设计 字符串的模式匹配(KMP算法与朴素算法).zip

    本课程设计的主题聚焦在C语言和C++实现的字符串模式匹配,主要探讨了两种算法:KMP算法和朴素算法。 首先,让我们了解一下朴素算法。朴素算法是最直观的字符串匹配方法,它通过从文本串的起始位置开始,逐个字符地...

    C语言:bf算法实现串匹配问题

    C语言:BF算法实现串匹配问题 Resources Summary Information: C Language: BF Algorithm Implementation of String Matching Problem 串匹配问题是计算机科学中一个基本问题,旨在寻找给定字符串在文本中的位置...

    贝叶斯算法实例(c语言)

    在C语言中实现贝叶斯算法,可以帮助开发者更深入地理解这一理论,并将其应用于实际项目中。 在C语言中,贝叶斯算法通常涉及到以下几个关键知识点: 1. **概率基础**:首先,理解概率的基本概念至关重要,包括事件...

    kmp算法,C语言实现

    使用C语言实现KMP算法,需要定义数据结构来存储部分匹配表,编写函数来构建此表,并实现主函数来完成字符串匹配。对于初学者而言,理解并实现KMP算法能帮助他们掌握动态规划的思想,提高解决实际问题的能力。通过...

    字符串KMP算法c语言

    ### 字符串KMP算法C语言实现解析 在计算机科学领域,字符串匹配是常见的操作之一,其中KMP算法(Knuth-Morris-Pratt算法)因其高效性而被广泛使用。KMP算法由Donald Knuth、James H.Morris以及Vaughan Pratt共同...

    基于朴素贝叶斯分类器的文本分类算法(C语言).doc

    基于朴素贝叶斯分类器的文本分类算法(C语言).doc

    基于朴素贝叶斯分类器的文本分类算法(C语言).rar-综合文档

    在C语言中实现朴素贝叶斯分类器,可以帮助开发者更好地理解和控制算法的每一个步骤,同时也提供了在资源有限的环境中运行的可能性。 1. **朴素贝叶斯分类原理**: 朴素贝叶斯分类器假设特征之间相互独立,并且每个...

    所有基础数据结构和算法的纯C语言实现,如各自排序、链表、栈、队列、各种树以及应用、图算法、字符串匹配算法、回溯、并查.zip

    本资源提供的是所有基础数据结构和算法的纯C语言实现,涵盖了广泛的主题,包括排序、链表、栈、队列、树、图算法、字符串匹配、回溯法以及并查集等。以下是对这些概念的详细说明: 1. **排序算法**:排序是将一组...

    贝叶斯分类算法C实现_ 贝叶斯网络超参数c课程资源 一C\u002FC

    总结来说,"贝叶斯分类算法C实现"是一个涉及数据预处理、模型构建和超参数调优的过程,通过C语言进行编程,可以提高算法在实际项目中的适用性和效率。"贝叶斯网络超参数C"则强调了在C语言环境中,如何管理和优化影响...

    贝叶斯算法实现

    贝叶斯算法可以在多种编程语言中实现,包括C语言和JAVA。C语言实现通常更注重效率,适合处理大规模数据;JAVA实现则拥有更好的跨平台性和丰富的库支持,使得代码编写更为简洁。 - **C语言实现**: C语言实现通常需要...

Global site tag (gtag.js) - Google Analytics