数据结构(C语言)读书笔记9:串的基本概念
来源:互联网 发布:js 通过name获取标签 编辑:程序博客网 时间:2024/05/16 15:01
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被销毁。
- 数据结构(C语言)读书笔记9:串的基本概念
- 数据结构(C语言):引言-基本概念
- 数据结构读书笔记(一)(C语言)
- 数据结构读书笔记(二)(C语言)
- 数据结构读书笔记(三)(C语言)
- 数据结构 (C语言) 读书笔记1
- 数据结构(C语言)读书笔记8:队列
- 数据结构(C语言)读书笔记10:串的定长顺序存储表示
- C语言的基本概念
- 数据结构(C语言)读书笔记6:栈的应用之括号匹配的C代码实现
- 数据结构_6:树:C语言_基本概念
- 数据结构(C语言)读书笔记3:顺序表
- 数据结构(C语言)读书笔记11:堆分配存储表示
- 数据结构(C语言)读书笔记5:栈的应用之数制转换及C语言代码实现
- c语言003---c语言的基本概念
- C语言:C语言的一些基本概念
- 数据结构(C语言描述)读书笔记之栈
- 数据结构(C语言描述)读书笔记之队列
- 模式识别中运用增L减R法进行特征的选取
- java按照map的value排序
- mysql 字段类型、基本命令
- Mapreduce中的RCFile输出RCFileOutputFormat实现及其应用
- std:auto_ptr
- 数据结构(C语言)读书笔记9:串的基本概念
- 计算一个字符串表示的四则运算表达式
- java基础深入理解
- android android:windowSoftInputMode相关属性
- 算法导论 最长公共子序列
- jQuery UI dialog 的使用
- SQLDBMSDBA数据库操作语句归纳
- hdu 4262 Juggler(树状数组)
- ant 初步认识