【数据结构】串的介绍

参考资料:《数据结构(C语言版)严蔚敏著》
版权说明:未经作者允许,禁止转载。如引用本文内容,需标明作者及出处。如本文侵犯了您的权益,请联系我删除并致歉。
文章说明:如文章中出现错误,请联系我更改。如您对文章的内容有任何疑问,也欢迎来与我讨论。
本文正在施工中...请稍等...


串的介绍

基本概念

1、串:串是由零个或多个字符组成的有限序列,一般记为s='a1a2...an'(n≥0),其中s是串的名字,用单引号括起来的字符序列是串的值,串中字符的数目n称为串的长度。长度为0的串称为空串。
2、子串、主串:串中任意个连续的字符组成的子序列称为该串的子串,相应地,该串称为主串。
3、空格串:由一个或多个空格组成的串称为空格串。(注意空格串与空串的区别)
4、串中的位置:字符在序列中的序号称为该字符在串中的位置;子串在主串中的位置以子串的第一个字符在主串中的位置来表示。
4、串上的相等关系:当且仅当两个串的值相等时,即两个串的长度相等,且各个对应位置的字符也相等,称这两个串是相等的。

抽象数据类型定义

ADT String{
    数据对象:参考《数据结构(C语言描述)严蔚敏著》
    数据关系:参考《数据结构(C语言描述)严蔚敏著》
    基本操作:
        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替换主串S中出现的所有与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被销毁。
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wingrez

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值