當前位置:首頁 » 編程語言 » 字元串匹配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演算法很重要。
略知一二!

熱點內容
演算法門 發布:2025-03-10 22:59:58 瀏覽:178
linux更改用戶目錄 發布:2025-03-10 22:57:38 瀏覽:190
999元手機推薦128存儲 發布:2025-03-10 22:53:07 瀏覽:979
linuxfor多個變數 發布:2025-03-10 22:52:26 瀏覽:475
五級三晉制工資演算法 發布:2025-03-10 22:50:57 瀏覽:947
如何配置交換機的上行口 發布:2025-03-10 22:44:14 瀏覽:792
依維柯配置怎麼看 發布:2025-03-10 22:40:59 瀏覽:676
php與mysql安裝 發布:2025-03-10 22:35:58 瀏覽:656
視頻軟體自動上傳 發布:2025-03-10 22:34:13 瀏覽:1002
pac自動代理腳本 發布:2025-03-10 22:34:09 瀏覽:321