串的初步认识

一、串的相关概念

1、串的定义:零个或多个任意字符组成的有限序列。

2、空串一般用∅表示。

3、串相等:当且仅当两个串的长度相等并且各个对应位置上的字符都相同时,这两个串才是相等的。所有空串是相等的。

4、串的类型定义:

ADT String {

数据对象:.......

数据关系:.......

基本操作:

(1) StrAssign (&T,chars)                        //串赋值

(2) StrCompare (S,T)                           //串比较

(3) StrLength (S)                                 //求串长

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

(5) SubString(&Sub,S,pos,len)         //求子串

(6) StrCopy(&T,S)                           //串拷贝

(7) StrEmpty(S)                               //串判空

(8) ClearString (&S)                       //清空串

(9) Index(S,T,pos)                         //子串的位置

(11) Replace(&S,T,V)                    //串替换

(12) Strlnsert(&S,pos,T)                  //子串插入

(12) StrDelete(&S,pos,len)              //子串删除

(13) DestroyString(&S)                   //串销毁

}ADT String

二、串的存储结构

1、串的链式存储结构——块链结构

#define CHUNKSIZE 80                //块的大小可由用户定义
typedef struct Chunk{

char ch[CHUNKSIZE];

struct Chunk *next;

}Chunk;

typedef struct{

Chunk *head,*tail;           //串的头指针和尾指针

int curlen;                 //串的当前长度

}LString;                  //字符串的块链结构

2、串的顺序存储结构

#define MAXLEN 255

typedef struct{

char ch[MAXLEN+1];            //存储串的一维数组
int length;                  //串的当前长度长度

}SString;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

夜深人静码代码

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

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

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

打赏作者

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

抵扣说明:

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

余额充值