當前位置:首頁 » 編程語言 » 字元串匹配c語言

字元串匹配c語言

發布時間: 2025-01-04 20:46:12

c語言下如何用正則或者字元串查找匹配特定字元串並提取出來

在字元串中查找字元串是吧

#include<stdio.h>
intfun(char*str,char*find)
{
inti,j,n=0;
for(i=0;str[i];i++)
{
if(str[i]==find[0])
for(j=1;;j++)
{
if(find[j]==0)returni+1;//返回位置
if(find[j]==str[i+j])n++;
elsebreak;
}
}
return0;//不存在返回0
}
intmain()
{
charstr[]="onetwothree",find[]="two";
printf("%d ",fun(str,find));
return0;
}

② 解析一哈c語言中的kmp演算法,bf演算法,kr演算法之間的聯系與區別,盡量淺顯易懂,謝謝!

三種演算法聯系:都是字元串匹配演算法。
區別:
「KMP演算法」:在匹配過程稱,若發生不匹配的情況,如果next[j]>=0,則目標串的指針i不變,將模式串的指針j移動到next[j]的位置繼續進行匹配;若next[j]=-1,則將i右移1位,並將j置0,繼續進行比較。
「BF演算法」是普通的模式匹配演算法,BF演算法的思想就是將目標串S的第一個字元與模式串P的第一個字元進行匹配,若相等,則繼續比較S的第二個字元和P的第二個字元;若不相等,則比較S的第二個字元和P的第一個字元,依次比較下去,直到得出最後的匹配結果。
「KR演算法」在每次比較時,用HASH演算法計算文本串和模式串的HASH映射,通過比較映射值的大小來比較字元串是否匹配。但是考慮到HASH沖突,所以在映射值相同的時候,還需要近一步比較字元串是否相同。但是在每次比較時,需要計算HASH值,所以選擇合適的HASH演算法很重要。
略知一二!

熱點內容
ida反編譯更改函數返回值 發布:2025-01-06 21:13:40 瀏覽:677
倩女幽魂2免費腳本 發布:2025-01-06 21:06:13 瀏覽:273
抖音情感腳本 發布:2025-01-06 20:57:52 瀏覽:390
java開發培訓機構哪個好 發布:2025-01-06 20:53:31 瀏覽:721
什麼伺服器上有hba卡 發布:2025-01-06 20:53:19 瀏覽:590
qq號啥也沒綁定如何找回密碼 發布:2025-01-06 20:43:35 瀏覽:881
android720p 發布:2025-01-06 20:38:43 瀏覽:403
冪指數運演算法則 發布:2025-01-06 20:27:04 瀏覽:489
文件夾777許可權 發布:2025-01-06 20:22:56 瀏覽:180
命令行默認用什麼編碼編譯 發布:2025-01-06 20:15:10 瀏覽:940