欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言實(shí)現(xiàn)BF算法案例詳解

 更新時(shí)間:2021年08月24日 14:06:25   作者:arctan90°  
這篇文章主要介紹了C語言實(shí)現(xiàn)BF算法案例詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下

BF算法:

       BF算法即暴風(fēng)算法,是普通的模式匹配算法。BF算法的思想:將目標(biāo)串S的第一個(gè)字符與模式串T的第一個(gè)字符進(jìn)行匹配,若相等,則繼續(xù)比較S的第二個(gè)字符和 T的第二個(gè)字符;若不相等,則比較S的第二個(gè)字符和T的第一個(gè)字符,依次比較下去,直到得出最后的匹配結(jié)果。BF算法是一種蠻力算法。

圖示:

#include <stdio.h>
#include <string.h>
 
int BF(const char *s, const char* sub, int pos)//O(n*m)
{
	int i = pos;
	int j = 0;
	int lens = strlen(s);
	int lensub = strlen(sub);
	while (i<lens && j<lensub)
	{
		if (s[i] == sub[j])
		{
			i++;
			j++;
		}
		else
		{
			i = i - j + 1;//i退回到當(dāng)前匹配失敗初始的下一個(gè)
			j = 0;//j回退到0
		}
	}
	if (j >= lensub)
	{
		return i - j;
	}
	else
	{
		return -1;
	}
}
 
int main()
{
	char *s = "ababcabcdfabcde";
	char *sub = "abcd";
	printf("%d\n", BF(s, sub, 0));
	return 0;
}

到此這篇關(guān)于C語言實(shí)現(xiàn)BF算法案例詳解的文章就介紹到這了,更多相關(guān)C語言實(shí)現(xiàn)BF算法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++保存txt文件實(shí)現(xiàn)方法代碼實(shí)例

    C++保存txt文件實(shí)現(xiàn)方法代碼實(shí)例

    這篇文章主要介紹了C++保存txt文件實(shí)現(xiàn)方法代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • C/C++根據(jù)年月日計(jì)算星期幾(蔡勒公式篇)

    C/C++根據(jù)年月日計(jì)算星期幾(蔡勒公式篇)

    這篇文章主要給大家介紹了關(guān)于C/C++根據(jù)年月日計(jì)算星期幾(蔡勒公式篇)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • C語言使用DP動(dòng)態(tài)規(guī)劃思想解最大K乘積與乘積最大問題

    C語言使用DP動(dòng)態(tài)規(guī)劃思想解最大K乘積與乘積最大問題

    Dynamic Programming動(dòng)態(tài)規(guī)劃方法采用最優(yōu)原則來建立用于計(jì)算最優(yōu)解的遞歸式,并且考察每個(gè)最優(yōu)決策序列中是否包含一個(gè)最優(yōu)子序列,這里我們就來展示C語言使用DP動(dòng)態(tài)規(guī)劃思想解最大K乘積與乘積最大問題
    2016-06-06
  • C語言實(shí)現(xiàn)貪吃蛇游戲代碼

    C語言實(shí)現(xiàn)貪吃蛇游戲代碼

    大家好,本篇文章主要講的是C語言實(shí)現(xiàn)貪吃蛇游戲代碼,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-02-02
  • C語言實(shí)現(xiàn)類似wget的進(jìn)度條效果

    C語言實(shí)現(xiàn)類似wget的進(jìn)度條效果

    這篇文章主要介紹了C語言實(shí)現(xiàn)類似wget的進(jìn)度條效果的方法,主要是讓大家可以熟練的使用轉(zhuǎn)移符\r,這里推薦給大家,需要的小伙伴參考下。
    2015-03-03
  • 詳解C++中的數(shù)據(jù)抽象

    詳解C++中的數(shù)據(jù)抽象

    這篇文章主要介紹了詳解C++中的數(shù)據(jù)抽象,數(shù)據(jù)抽象是指,只向外界提供關(guān)鍵信息,并隱藏其后臺(tái)的實(shí)現(xiàn)細(xì)節(jié),即只表現(xiàn)必要的信息而不呈現(xiàn)細(xì)節(jié),需要的朋友可以參考下
    2023-05-05
  • C語言由淺入深講解文件的操作下篇

    C語言由淺入深講解文件的操作下篇

    C語言具有操作文件的能力,比如打開文件、讀取和追加數(shù)據(jù)、插入和刪除數(shù)據(jù)、關(guān)閉文件、刪除文件等。與其他編程語言相比,C語言文件操作的接口相當(dāng)簡(jiǎn)單和易學(xué)
    2022-04-04
  • C++string容器基本概念詳解

    C++string容器基本概念詳解

    c++相比c的一個(gè)好處就是實(shí)現(xiàn)了很多的容器和泛型算法,使得程序員的工作得到了很大的簡(jiǎn)化,本文重點(diǎn)給大家介紹C++string容器基本概念講解,需要的朋友參考下吧
    2021-07-07
  • ubuntu 下編譯C++代碼出現(xiàn)的問題解決

    ubuntu 下編譯C++代碼出現(xiàn)的問題解決

    這篇文章主要介紹了ubuntu 下編譯C++代碼出現(xiàn)的問題解決的相關(guān)資料,需要的朋友可以參考下
    2015-03-03
  • C語言自定義類型全解析

    C語言自定義類型全解析

    在C語言中自定義類型主要有結(jié)構(gòu)體類型、位段、枚舉類型、聯(lián)合體類型,自定義類型是面試常會(huì)碰到的內(nèi)容,今天我們來詳細(xì)了解一下它
    2022-02-02

最新評(píng)論