数据结构(C语言)读书笔记9:串的基本概念

1、串(String)是由零个或多个字符组成的有限序列,一般记为s='a1a2.....an'(n>=0).其中s是串名,用单引号括起来的是串值,串中字符的数目n称为串的长度。零个字符的串称为空串

2、子串:串中任意个连续的字符组成的子序列称为该串的子串。包含子串的串相应的称为主串。子串在主串中的位置以子串的第一个字符在主串中的位置来表示。

3、串的逻辑结构和线性表极为相似,主要区别仅在于串的数据对象约束为字符集。

4、串的抽象数据类型的定义:

ADT String{

数据对象:D={ai | ai∈CharacterSet,i=1,2,。。。。n}
数据关系:R={ <ai-1, ai > | ai-1, ai∈D, i = 2, ..., n }

基本操作:

StrAssign(&T,chars)

初始条件:chars是字符串常量

操作结果:生成一个其值等于chars的串T。

StrCopy(&T,S)

初始条件:串S存在

操作结果:由串S复制得到T。

StrEmpty(S)

初始条件:串S存在

操作结果:若S为空串,返回TRUE,否则返回FALSE.

StrCompare(S,T)

初始条件:串S和T存在。

操作结果:若S>T,则返回值>0,若S=T,则返回值=0,若S<T,则返回值<0.

StrLength(S)

初始条件:串S存在。

操作结果:返回串S的长度。

ClearString(&S)

初始条件:串S存在。

操作结果:将S清为空串。

Concat(&T,S1,S2)

初始条件:串S1和S2存在

操作结果:用T返回由S1和S2连接而成的新串。

SubString(&Sub,S,pos,len)

初始条件:S存在,1=<pos<=StrLength(S);0=<len<=StrLength(S)-pos+1;

操作结果:用Sub返回串S的第pos个字符起长度为len的子串。

Index(S,T,pos)

初始条件:串S和T存在,T是非空,1=<pos<=StrLength(S);

操作结果:若主串S中存在和T相同的子串,则返回它在主串S中第pos个字符之后第一次出现的位置,否则返回0;

Replace(&S,T,V)

初始条件:S,T,V存在,且T非空

操作结果:用V替代主串中出现的所有与T相等的不重叠子串。

StrInsert(&S,pos,T)

初始条件:串S和T存在,1=<pos<=StrLength(S)+1;

操作结果:在串S的第pos个字符之前插入串T。
StrDelete(&S,pos,len)

初始条件:串S存在,1=<pos<=StrLength(S)-len+1;

操作结果:从S中,删除第pos个字符起长度为len的子串。

DestroyString(&S)

初始条件:串S存在

操作结果:串S被销毁。

}ADT String
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值