数据结构总结笔记3:串

这篇博客总结了串的存储结构,包括顺序存储和堆存储,以及串的基本运算实现。同时,详细介绍了串的模式匹配问题,重点讲解了经典的KMP算法,包括算法原理和时间复杂度分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、考试内容:

1,串的存储结构及基本运算的实现;

串中元素逻辑关系与线性表的相同,串可以采用与线性表相同的存储结构。

#define MaxSize 100
typedef struct

{   char data[MaxSize];  //存储字符串
    int length;   //存储长度
}  SqString;

串抽象数据类型=逻辑结构+基本运算(运算描述)

串的基本运算如下:

  StrAssign(&s,cstr):将字符串常量cstr赋给串s,即生成其值等于cstr的串s。

  StrCopy(&s,t):串复制。将串t赋给串s。

  StrEqual(s,t):判串相等。若两个串s与t相等则返回真;否则返回假。

  StrLength(s):求串长。返回串s中字符个数。

  Concat(s,t):串连接:返回由两个串s和t连接在一起形成的新串。

  SubStr(s,i,j):求子串。返回串s中从第i(1≤i≤n)个字符开始的、由连续j个字符组成的子串。

   InsStr(s1,i,s2):插入。将串s2插入到串s1的第i(1≤i≤n+1)个字符中,即将s2的第一个字符作为s1的第i个字符,并返回产生的新串。

   DelStr(s,i,j):删除。从串s中删去从第i(1≤i≤n)个字符开始的长度为j的子串

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值