数据结构(C语言)读书笔记10:串的定长顺序存储表示

1、和线性表的顺序存储结构相似,用一组地址连续的存储单元存储串值的字符序列。

2、————串的定长顺序存储表示————

#define MAXSTRLEN 255  //用户可在255以内定义最大串长

typedef unsigned char SString[MAXSTRLEN+1]//0号单元存放串的长度

3、串的实际长度可在这个预定义长度的范围内随意,超过预定义长度的串值则被舍弃,称为“截断”

4、串连接 Concat(&T,S1,S2)

按照上述3的约定,对超出的部分实施“截断”操作。基于S1,S2的不同长度,有三种可能结果:

(1)、S1[0]+S2[0]<=MAXSTRLEN

(2)、S1[0]<MAXSTRLEN,但是S1[0]+S2[0]>MAXSTRLEN

(3)、S1[0]=MAXSTRLEN

算法如下:

Status Concat(SString &T,SString S1,SString S2){

if(S1[0]+S2[0]<=MAXSTRLEN)

{

T[1...S1[0]]=S1[1.....S1[0]];

T[S1[0]+1....S1[0]+S2[0]]=S2[1.....S2[0]];

T[0]=S1[0]+S2[0];

uncut=TRUE;

}

else if(S1[0]<MAXSTRLEN)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值