BF算法属于一种蛮力算法,用来查找子串在串中的位置。
// 截取子串 int getsstring(linkstr *s,char ch[],int k,int n){ linkstr *sl; sl = s; if(k<0 || n<0) return -1; for(int i = 0; i<k ;i++){ sl = sl->next; } for(int j; j<n; j++){ ch[j] = sl->ch; sl = sl->next; } return 1; } //串的模式匹配(BF算法) int stringBF(linkstr *s1,linkstr *s2,linkstr *s3){ linkstr *sl,*s,*st,*slt; slt = s1; st = s2; while(sl->next != NULL){ sl = slt; s = st; while(s->next->next != NULL){ if(s->ch != sl->ch) break; else{ s = s->next; sl = sl->next; if(s == NULL){ s3 = st; return 1; } } } slt = slt->next; } return -1; }
原文地址:https://www.cnblogs.com/L1Gd0ng/p/10872976.html
时间: 2024-10-03 02:15:23