第四章:串

1.串是数据元素为字符的线性表,串的定义及操作。

串即字符串,是由零个或多个字符组成的有限序列,是数据元素为单个字符的特殊线性表。

串比较:int strcmp(char *s1,char *s2);            

求串长:int strlen(char *s);                          

串连接:char  strcat(char *to,char *from)   

子串T定位:char strchr(char *s,char *c);

2.串的存储结构,因串是数据元素为字符的线性表,所以存在“结点大小”的问题。

模式匹配算法 。

串有三种机内表示方法:
 

3.模式匹配算法 :

算法目的:确定主串中所含子串第一次出现的位置(定位)

定位问题称为串的模式匹配,典型函数为Index(S,T,pos)

BF算法的实现—即编写Index(S, T, pos)函数

BF算法设计思想:

将主串S的第pos个字符和模式T的第1个字符比较,

若相等,继续逐个比较后续字符;

若不等,从主串S的下一字符(pos+1)起,重新与T第一个字符比较。 

直到主串S的一个连续子串字符序列与模式T相等。返回值为S中与T匹配的子序列第一个字符的序号,即匹配成功。

否则,匹配失败,返回值 0。

Int Index_BP(SString S, SString T, int pos)

{ //返回子串T在主串S中第pos个字符之后的位置。若不存在,则函数值为0.

 // 其中,T非空,1≤pos≤StrLength(S)

    i=pos;      j=1;

   while ( i<=S[0] && j<=T[0] ) //如果i,j二指针在正常长度范围,

     {  

       if (S[i] = = T[j] ) {++i, ++j; }   //则继续比较后续字符

       else {i=i-j+2; j=1;} //若不相等,指针后退重新开始匹配

      }

  if(j>T[0]) return i-T[0];  //T子串指针j正常到尾,说明匹配成功,  else return 0;        //否则属于i>S[0]情况,i先到尾就不正常

} //Index_BP

补充重点:

1.空串和空白串有无区别?

答:有区别。

空串(Null String)是指长度为零的串;

而空白串(Blank  String),是指包含一个或多个空白字符‘  ’(空格键)的字符串.

2.“空串是任意串的子串;任意串S都是S本身的子串,除S本身外,S的其他子串称为S的真子串。”
 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
百度2012 至今笔试题 以及简介 5.1 百度运维部笔试题................................................................................................................................17 5.2 百度商务搜索笔试题...................................................................................................................................18 5.3 百度商务搜索部笔试题...............................................................................................................................18 5.4 百度质量部笔试题.......................................................................................................................................18 5.5 百度质量部第一场笔试的笔试题................................................................................................................19 5.6 百度RD-2卷(质量部等)笔试真题..........................................................................................................19 5.7 百度商业应用产品部(非技术类)笔试题................................................................................................21 5.8 百度商业产品部笔试归来~~~真题奉献......................................................................................................22 5.9 百度用户体验部笔试题...............................................................................................................................23 5.10 百度电子商务事业部笔试真题....................................................................................................................24 5.11 百度运维web开发两道笔试题...................................................................................................................24 5.12 百度技术类笔试真题...................................................................................................................................25 5.13 百度技术类笔试真题(原题扫描)............................................................................................................25 5.14 百度技术研发笔试题目...............................................................................................................................29 5.15 百度笔试题...................................................................................................................................................36 5.16 百度笔试题目--回忆版 ................................................................................................................................36 5.17 百度笔试题(市场部) ....................................................................................................................................37 5.18 用户体验笔试题...........................................................................................................................................40 5.19 2008-9-24百度笔试题(第一套题) ..........................................................................................................40 5.20 2008-9-24百度笔试题(第三套题) ..........................................................................................................42

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值