“算法与数据结构”字符串与多维数组.pptVIP

“算法与数据结构”字符串与多维数组.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
“算法与数据结构”字符串与多维数组.ppt

字符串 串(string)是由有限个字符组成的序列,又称为字符串(character string),一般记为: s=“a1 a2 a3…an” 其中s是串名,用引号括起来的字符序列是串的值。ai(1=i=n)可以是字母、数字或其他字符;n为串中字符的个数,称为串的长度。 一个长度为零的串称为空串,表示为s1 =“”。 空格也是合法字符,它可以出现在较长的字符串中,也可以单独出现 。例如s2=“abc def”就是长度为7的字符串,s3=“ ”是长度为8的字符串。 字符串 相关概念 子串----有一个串S,称S中的一个连续段所组成的串为S的子串。 主串----包含子串的S串称为子串的主串。 例:设串S=“abcdefghijk” , S1=“cdef” , S2=“abc12” S3=“” , S4=“123 ab” 其中S1是S的子串,则S是主串,但S2、S3、S4不是S的子串。 子串的位置----子串在主串中第一次出现时其第一个字符的位置。 例如S1在S中出现的位置是3。 串相等----两个串的长度相等,并且各个对应的字符也都相同。 字符串 串的基本操作 串的长度StrLenth(s); 判断两个串是否相等StrEqual(s,t); 两个串的连接StrConcat(s1,s2); 求某串的子串subStr(s,i,len); 插入子串StrInsert(s1,i,s2); 串的定位 StrIndex(s1,t); 判断串是否为空StrEmpty(s); 字符串 串的顺序存储结构 串的顺序存储结构就是采用与其逻辑结构相对应的存储结构,即将串的各个字符按顺序存入连续的存储单元中去,也就是说逻辑上相邻的字符在内存中也是相邻的,有时称为顺序串。 #define MAXSIZE 255 char s[MAXSIZE]; 字符串 串的顺序存储结构一般采用与顺序线性表类似的结构来定义串的类型: const maxlen=串的最大长度 typedef struct { char vec[maxlen]; int len; }orderstring; 其中,vec域用来存储字符串,len域用来存储字符串的当前实际长度。 字符串 串的链式存储结构 串的链接存储结构有时称为链串。 链串的存储形式与一般的链表类似,是将存储区分成许多结点,每个结点有一个存放字符的域和一个存放指向下一个结点的指针域。 链串中的一个存储结点可以存储1个或多个字符,通常将链串中每个存储结点所存储的字符个数称为结点大小 字符串 链式存储结构的定义 const nodesize=定义的结点大小 typedef struct node { char ch[nodesize]; struct node *link; } linkstring; 当结点大小为1时,可将ch域简单定义为: char ch; 字符串的基本操作 判断串是否为空 int SteEmpty(char *s) { if(s==‘\0’) return 1; else return 0; } 计算串的长度 int StrLength(char *s); { int len=0; while(*(s+len)!=‘\0’ ) len++; return len; } 字符串的基本操作 串复制操作 void Strcpy(char *s1,char *s2) { int i,j; i=0,j=0; while(*(s1+i)!=‘\0’) { *(s2+j)=*(s1+i); i++; j++; } s2[j]=‘\0’ } 字符串的基本操作 串连接 int StrConcat(char *s1,char *s2,char *s) { int i,j,len1,len2;

文档评论(0)

000 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档