本文主要是介绍数据结构-串、数组与广义表篇(已完结),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、串
(1)串的补充
C语言中常见串运算
调用标准库函数 #include<string.h>
串比较,strcmp(char s1,char s2)
串复制,strcpy(char to,char from)
串连接,strcat(char to,char from)
求串长,strlen(char s)
(2)串的模式匹配算法
1、BF算法
将主串的第pos个字符和模式的第一个字符比较,
若相等,继续逐个比较后续字符;
若不等,从主串的下一字符起,重新与模式的第一个字符比较。
直到主串的一个连续子串字符序列与模式相等 。返回值为S中与T匹配的子序列第一个字符的序号,即匹配成功。
否则,匹配失败,返回值 0。
2、KMP匹配算法。
void get_next(char* T, int *next)
{//next数组求法。 当前位置不匹配时,需要返回并重新比对的位置。 int i= 1;//i为当前需要赋值的next数组位置 next[1] = 0; int j = 0; // 初始化,第一个为0,j为当前需要返回的位置 while( i<T[
这篇关于数据结构-串、数组与广义表篇(已完结)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!