• KMP


    U盘没了只好当云盘了 哈哈

    三个KMP模板先存两个

    ///返回个数
    #include<iostream>
    #include<stdio.h>
    #include<string.h>
    using namespace std;
    char t[10000],name[1000];
    int next1[50005];
    void getnext1(char *s)//把副串弄进来,next1
    {
        int i=0,j=-1;
        next1[0]=-1;
        int len=strlen(s);
        while(i<len)
        {
            if(s[i]==s[j]||j==-1)
            {
                i++;
                j++;
                next1[i]=j;
            }
            else
                j=next1[j];
        }
    }
    int kmp(char *s,char *t)  //注意:s串为副串,t串为主串
    {
        int num=0,i=0,j=0;
        int len=strlen(s);
        int lenn=strlen(t);
        while(i<lenn)
        {
            if(j==-1||s[j]==t[i])
            {
                i++;
                j++;
            }
            else
                j=next1[j];
            if(j==len){
                j=0;
                num++;
            }
        }
       
    
        return num;
    }
    ///返回位置
    #include<iostream>
    #include<stdio.h>
    #include<string.h>
    using namespace std;
    char s[50][100];
    char t[10000],name[1000];
    int next1[50005];
    void getnext1(char s[])//把副串弄进来,next1
    {
        int i=0,j=-1;
        next1[0]=-1;
        int len=strlen(s);
        while(i<len)
        {
            if(s[i]==s[j]||j==-1)
            {
                i++;
                j++;
                next1[i]=j;
            }
            else
                j=next1[j];
        }
    }
    int kmp(char s[],char t[])  //注意:s串为副串,t串为主串
    {
        int num=0,i=0,j=0;
        int len=strlen(s);
        int lenn=strlen(t);
        while(i<lenn&&j<len)
        {
            if(j==-1||s[j]==t[i])
            {
                i++;
                j++;
            }
            else
                j=next1[j];
        }
        //printf("%d %d
    ",i,j);
        if(j==len)
        return i-j;
        else
        return 100000;
    }
  • 相关阅读:
    c++获取线程id
    一个基于c++的log库
    防止socket程序重启等待2MSL时间
    c++头文件循环引用
    Myeclipse 8.5 优化设置
    来道题 求解释
    MyEclipse常用设置笔记
    Ubuntu 学习笔记
    Linux 下常用命令
    Oracle 学习笔记 常用查询命令篇
  • 原文地址:https://www.cnblogs.com/VectorLin/p/5410273.html
Copyright © 2020-2023  润新知