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

C語言實現BF算法案例詳解

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

BF算法:

       BF算法即暴風算法,是普通的模式匹配算法。BF算法的思想:將目標串S的第一個字符與模式串T的第一個字符進行匹配,若相等,則繼續(xù)比較S的第二個字符和 T的第二個字符;若不相等,則比較S的第二個字符和T的第一個字符,依次比較下去,直到得出最后的匹配結果。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退回到當前匹配失敗初始的下一個
			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;
}

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

相關文章

  • C++保存txt文件實現方法代碼實例

    C++保存txt文件實現方法代碼實例

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

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

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

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

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

    C語言實現貪吃蛇游戲代碼

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

    C語言實現類似wget的進度條效果

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

    詳解C++中的數據抽象

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

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

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

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

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

    ubuntu 下編譯C++代碼出現的問題解決

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

    C語言自定義類型全解析

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

最新評論