當前位置:九游会j9娱乐平台-九游ag登录中心网址 » 編程語言 » c語言匹配

c語言匹配-九游会j9娱乐平台

發布時間: 2024-11-10 17:44:29

① 串模式匹配演算法(c語言)100分懸賞

第一個樸素演算法:
1.普通的串模式匹配演算法:
int index(char s[],char t[],int pos)
/*查找並返回模式串t在s中從pos開始的位置下標,若t不是s的子串.則返回-1.*/
{
int i,j,slen,tlen;
i=pos;j=0; //i,j分別指示主串和模式串的位置.
slen=strlen(s);tlen=strlen(t); //計算主串和模式串的長度.
while(i {
if(s[i]==t[j]) {i ;j ;}
else {i=i-j 1;j=0;}
}
if(j>=tlen) return i-tlen;
return -1;
}

第二個kmp演算法.該演算法支持從主串的任意位置開始搜索.
2.kmp演算法:
//求模式串的next函數.
void get_next(char *p,int next[])
{
int i,j,slen;
slen=strlen(p);i=0;
next[0]=-1;j=-1;
while(i {
if(j==-1||p[i]==p[j]) { i; j;next[i]=j;}
else j=next[j];
}
}

//kmp模式匹配演算法
int index_kmp(char *s,char *p,int pos,int next[])
/* 利用模式串p的next函數,求p在主串s中從第pos個字元開始的位置*/
/*若匹配成功.則返回模式串在主串中的位置下標.否則返回-1 */
{
int i,j,slen,plen;
i=pos-1;j=-1;
slen=strlen(s);plen=strlen(p);
while(i {
if(j==-1||s[i]==p[j]) { i; j;}
else j=next[j];

② c語言的括弧匹配怎麼寫啊

了解一下數據結構中的棧(其實就是後入先出),你就知道該怎麼實現了。
知道怎麼實現棧後就很簡單了:遇到左括弧則入棧,遇到右括弧則檢查棧內是否有元素,沒有元素則結果不匹配,有元素則彈出棧頂元素來查看是否符號相匹配。而檢查完畢後如果棧內仍有元素,則不匹配,無元素則匹配

熱點內容
接龍源碼 發布:2024-11-19 10:14:48 瀏覽:33
驅動軟體哪個安卓版好 發布:2024-11-19 10:08:28 瀏覽:703
伺服器一鍵搭建java環境 發布:2024-11-19 10:08:27 瀏覽:729
布丁少兒編程 發布:2024-11-19 09:57:11 瀏覽:98
vb資料庫數組 發布:2024-11-19 09:23:40 瀏覽:828
安卓游戲數據保存在哪裡找 發布:2024-11-19 09:22:02 瀏覽:310
解壓出來的文件亂碼 發布:2024-11-19 09:15:40 瀏覽:940
北航ftp是多少 發布:2024-11-19 09:15:32 瀏覽:822
瀏覽保存密碼如何取消 發布:2024-11-19 09:10:17 瀏覽:90
安卓怎麼關簡訊重復提醒 發布:2024-11-19 09:02:00 瀏覽:636
网站地图