zoukankan      html  css  js  c++  java
  • BruteForce算法 模式匹配

    ////////////////////////////////////////////
    //Brute-Force算法 模式匹配 				  //
    //Author:Wang Yong				  		  //	
    //Date:	2010.8.19				  		  //
    ////////////////////////////////////////////
    
    
    #include <stdio.h>
    #include <stdlib.h>
    
    #define MAX 100
    
    /////////////////////////////////////////////
    
    //定义串的类型
    
    typedef struct
    {
    	char ch[MAX];
    	int len;
    } String;
    //串的初始化 
    void StringInit(String &str,char ctr[])
    {
    	int i;
    	for(i = 0 ; ctr[i] != '\0'; i++)
    		str.ch[i] = ctr[i];
    	str.len = i;
    }
    //Brute-Force算法1
    int Brute_Force(String s,String t)
    {
    	int i;
    	for(i = 0 ; i < s.len;i++)
    	{
    		if(s.ch[i]  ==  t.ch[0])
    		{
    			int j,k = 1;;
    			j = i;
    			while(j++)
    			{
    				if(k == t.len - 1)
    					return i+1; 
    				if(s.ch[j] != t.ch[k])
    					break;
    				if(s.ch[j] == t.ch[k]) 
    					k++;
    			}
    		}
    	}
    	return 0;
    } 
    //////////////////////////////////////////
    int main()
    {
    	char c1[100],c2[100];
    	printf("请出入字符串:");
    	scanf("%s",c1);
    	printf("请输入子串:");
    	scanf("%s",c2);
    	String s1,s2;
    	StringInit(s1,c1);
    	StringInit(s2,c2);
    	int i;
    	i = Brute_Force(s1,s2);
    	if(i)
    		printf("匹配的位置为:%d \n",i);
    	else
    		printf("不匹配\n");
    	
    	 
    	return 0;
    }
    
  • 相关阅读:
    Linux下openSSL安装并颁发证书
    js控制自动上传文件
    Swoole 4.5v安装使用
    Flask-SQLAlchemy 的基本使用
    Flask入门之二
    微信消息订阅
    Flask入门之一
    MySQL主从库快速搭建
    FastAPI连接mysql傻瓜式
    UOJ Round总结
  • 原文地址:https://www.cnblogs.com/newwy/p/1847469.html
Copyright © 2011-2022 走看看