没有合适的资源?快使用搜索试试~ 我知道了~
第4章(串).pptx
需积分: 5 0 下载量 21 浏览量
2024-01-10
15:23:18
上传
评论
收藏 219KB PPTX 举报
温馨提示
试读
44页
第4章(串)
资源推荐
资源详情
资源评论
知识回顾:C语言中常用的串运算
串比较:intstrcmp(chars1,chars2);//StrCompare(S,T)
求串长:intstrlen(chars);//StrLength(S)
串连接:charstrcat(charto,charfrom);//Concat(&T,S1,S2)
子串T定位:charstrstr(chars,chart); //Index(S,T,pos)
串复制:charstrcpy(chart,chars);//StrCopy(&T,S)
……
注:用C处理字符串时,要调用标准库函数#include<string.h>
第
第
四
四
章
章
串
串
(string)
(string)
学习要点:
1、了解串的基本操作,利用这些基本操作实现串其它操作的
方法
2、掌握在串的堆分配存储结构下,串的基本操作算法
3、掌握串的模式匹配算法
基本内容:
1、串的有关概念、表示和实现
2、串的基本操作算法
3、串的模式匹配算法
记为:s=‘a
1
a
2
……..a
n
’(n≥0)
串名
串值(用‘’括起来)
串中字符个数(n≥0),n=0时称为空串(�) 。
由一个或多个空格符组成的串。
串s中任意个连续的字符序列叫s的子串;s叫主串。
字符在串中的序号。
子串的第一个字符在主串中的序号。
串长度相等,且对应位置上字符都相等。
串即字符串,是由零个或多个字符组成的有限序列,是数据
元素为单个字符的特殊线性表。
4.1 串类型的定义
若干术语
串长:
空格串:
子串:
字符位置:
子串位置:
串相等:
隐含结束符‘\0’,即
ASCII码为NULL
ADTString{
数据对象:D={a
i
|a
i
∈CharacterSet,i=1,2,…,n,n≥0}
数据关系:R
1
={<a
i-1
,a
i
>|a
i-1
,a
i
∈D,i=2,…,n}
基本操作://有13种之多
StrAssign(&T,chars)//串赋值,生成值为chars的串T
StrCompare(S,T)//串比较,若S>T,返回值大于0…
StrLength(S)//求串长,即返回S的元素个数
Concat(&T,S1,S2)//串连接,用T返回S1+S2的新串
SubString(&Sub,S,pos,len)//求S中pos起长度为len的子串
……
Index(S,T,pos)//返回子串T在pos之后的位置
Replace(&S,T,V)//用子串V替换子串T
}ADTString
串的抽象数据类型定义(参见教材P71)
最
小
操
作
子
集
利用最小操作子集可以完成其它串操作(参见教材72页算法4.1
)
intIndex(StringS,StringT,intpos)
//利用判等、求串长和求子串等操作实现定位函数Index(S,T,pos)
{if(pos>0)
{n=StrLength(S);m=StrLength(T);i=pos;
while(i<=n-m+1)
{SubString(sub,s,i,m);//保证在S中能取得与T长度相等的子串
if(StrCompare(sub,T)!=0)++i;
elsereturni;
}//while
}//if
return0;
}//Index
剩余43页未读,继续阅读
资源评论
invincible_Tang
- 粉丝: 595
- 资源: 81
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功