4.子串substr(S,i,j,&T)表示截取S串中从第i个字符开始连续i个字符,作为S的一个子串,存入T串二5. 串比较大小 strcmp(S,T)比较S串和T串的大小,若S<T,函数值为负,若S=T函数值为零,若S>T,函数值为正。串插入6.insert (&S,i,T)在S串的第i个位置托入T串。串删除7.delete(&S,i,i)删除串S中从第i个字符开始连续i个字符
4.子串 substr(S,i,j,&T) 表示截取S串中从第i个字符开始连续j个字符,作为 S的一个子串,存入T串。 5.串比较大小 strcmp(S,T) 比较S串和T串的大小,若S<T,函数值为负,若S=T, 函数值为零,若S>T,函数值为正。 6. 串插入 insert (&S,i,T) 在S串的第i个位置扦入T串。 7. 串删除 delete(&S,i,j) 删除串S中从第i个字符开始连续j个字符
求子串位置8.index(S,T)求T子串在S主串中首次出现的位置,若T串不是S串的子串,则位置为零9. 串替换replace (&S,i,j,T)将S串中从第i个位置开始连续i个字符,用T串替换,4.1.3串的抽象数据类型描述串的抽象数据类型可描述为:ADTstrings {Data:含有n个字符a,a2,a3...,a,Operation:Void assign(&S,T)//表示将T串的值赋给S串
8. 求子串位置 index(S,T) 求T子串在S主串中首次出现的位置,若T串不是S串 的子串,则位置为零。 9. 串替换 replace (&S,i,j,T) 将S串中从第i个位置开始连续j个字符,用T串替换。 4.1.3 串的抽象数据类型描述 串的抽象数据类型可描述为: ADT strings { Data: 含有n个字符a1 ,a2 ,a3 ,.,an Operation: Void assign(&S,T) //表示将T串的值赋给S串
Void//表示将S串和T串联接起来,使Tconcat(&S,T)串接入S串的后面/求T串的长度intlength(T)Void substr(S,ij,&T)//表示截取S串中从第i个字符开始连续i个字符,作为S的一个子串,存入T串中。//比较S串和T串的大小,若S<T,函数值int strcmp(S,T)为负,S=T函数值为零,S>T,函数值为正//在S串的第i个位置插入T串Void insert(&S,i,T)Void delete(&S,i,i) //删除S中从第i个字符开始连续i个字符int/求T子串在S主串中首次出现的位置index(S,T)若T串不是S串的子串,则位置为零。Voidreplace(&S,i,i,T)//将S串中从第i个位置开始连续i个字符,用T串替换。↑ADT strings;
Void concat(&S,T) //表示将S串和T串联接起来,使T 串接入S串的后面。 int length(T) //求T串的长度。 Void substr(S,i,j,&T) //表示截取S串中从第i个字符开始 连续j个字符,作为S的一个子串,存入T串中。 int strcmp(S,T) //比较S串和T串的大小,若S<T,函数值 为负,S=T,函数值为零,S>T,函数值为正。 Void insert(&S,i,T) //在S串的第i个位置插入T串。 Void delete(&S,i,j) //删除S中从第i个字符开始连续j个字符。 int index(S,T) //求T子串在S主串中首次出现的位置, 若T串不是S串的子串,则位置为零。 Void replace(&S,i,j,T) //将S串中从第i个位置开始连续j个 字符,用T串替换。 }ADT strings;
4.2串的存储结构4.2.1 顺序存储串的顺序存储结构,也称为顺序串,与第二章介绍的顺序表类似。但由于串中元素全部为字符,故存放形式与顺序表有所区别串的非紧缩存储一个存储单元中只存储一个字符,和顺序表中一个元素占用一个存储单元类似。具体形式见图4-1,设串S=Howdo you do
4.2 串的存储结构 4.2.1 顺序存储 串的顺序存储结构,也称为顺序串,与第二章介绍的 顺序表类似。但由于串中元素全部为字符,故存放形式 与顺序表有所区别。 1.串的非紧缩存储 一个存储单元中只存储一个字符,和顺序表中一个元素 占用一个存储单元类似。具体形式见图4-1,设串S=“How do you do
H0Wd0y0ud0图 4-1S 串的非紧缩存储
H o w d o y o u d o 图 4-1 S 串的非紧缩存储