當前位置:首頁 » 編程語言 » 字元串匹配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-09-15 17:18:48 瀏覽:121
c語言函數要素 發布:2025-09-15 16:39:10 瀏覽:433
java讀ftp文件 發布:2025-09-15 16:15:45 瀏覽:430
sql隨機函數 發布:2025-09-15 15:20:19 瀏覽:99
校園伺服器禁止設置ip 發布:2025-09-15 15:11:06 瀏覽:775
android刷回 發布:2025-09-15 14:54:24 瀏覽:583
n後問題演算法 發布:2025-09-15 14:38:17 瀏覽:393
壓縮機絕緣 發布:2025-09-15 14:31:10 瀏覽:542
python大數據與量化 發布:2025-09-15 13:51:49 瀏覽:103
築業資料軟體加密鎖 發布:2025-09-15 13:28:41 瀏覽:522