- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 4 章 串 ;4.1 串的逻辑结构;*; 零个字符的串称为空串 (null string),它的长度为零。为了清楚起见,以后我们用 “?” 来表示空串。;*; 如果在程序设计语言中,串只是作为输入或者输出的常量出现,则只需要存储此串的串值,即字符序列即可。但是在多数非数值处理的程序中,串也以变量的形式出现。串有 3 种机内表示方法。; 串的定长顺序存储表示类似于线性表的顺序存储结构,用一组地址连续的存储单元存储串值的字符序列。在串的定长顺序存储结构中,按照予定义的大小,为每个定长的串变量分配一个固定长度的存储区,则可以用定长数组描述。; 1. 定长顺序存储表示; (1) 串联接 StrCat(SString *s,SString t);s.len+t.len≤MAXSTRLEN 得到的 串是正确的结果。;strCat( SString *s, SString t) /* 用 s返回由 s和 t联接而成的新串。如果没有截断,则返回1,否则返回 0。*/; else if (s-len MAXLEN ) { // 截断t for (i-s-len; iMAXLEN; i++) s-ch[i]= t.ch [i-s-len]; s-len=MAXLEN; flag=0; }; (2) 求子串 SubString ( Sub, S, pos, len );SubString ( SString *Sub, SString S, int pos, int len) //用 Sub 返回串 S 的下标 pos 起长度为 len 的子串。;StrIndex (SString S, int pos, SString t) /* 求从主串s的下标pos起,串t第一次出现的位置, 成功返回位置序号,不成功返回-1*/; 堆分配存储表示的特点是,仍然以一组地址连续的存储单元存储串值的字符序列,但是它们的存储空间是在程序执行过程中动态分配而得的。;1. 堆分配存储表示;StrAssign ( HString *s , char *tral ) // 串常量 tral的值赋给堆串s */ { int len, i=0; if (s-ch!=NULL ) free (s-ch); //释放 s原有空间 While (tral [i]!=‘\0’) i++; //求 tral的长度 i len=i; if ( ! len) {s-ch = NULL; s- len = 0; } // 串 tral为空串 else { s-ch = ( char * ) malloc (len) ; if ( s-ch=NULL) return(0); for(i=0; ilen; i++) s-ch[i]=tral[i]; } return (1); } /* StrAssign*/ ;(2) 求串长;(3) 串比较;(4) 清空串;StrInsert ( HString *s, int pos, HString *t) /*在串 s的第 pos 个字符之前插入串 t。*/ { if ( pos 0|| pos s-len) return ERROR; if (t-len ) { // 如果 T 非空,则重新分配空间,插入t if ( ! (s-ch = ( char * ) realloc (s-ch, (s-len +t-.len )) return (FALSE); //存储分配失败 for ( i = s-len-1; i = pos-1; i-- ) /*为插入 T 而腾出位置*/ s-ch[ i+t-len ] = s-ch[ i ]; for(i=pos-1;ipos+t-len-1;i++) s-ch[i]=t-ch[i-pos+1] // 插入 T s-len + =t-len; //更新串
您可能关注的文档
最近下载
- 2025年妇女儿童发展规划实施情况中期评估报告 .pdf VIP
- 智慧农业导论-第9章-智慧农业系统案例 - 复件.pptx VIP
- 2025年过敏性鼻炎患者疾病认知与管理蓝皮书-腾讯新闻.pdf
- 汽车制造物流技术课件:认识汽车制造物流技术.pptx VIP
- 幼儿园中班语言《萝卜回来了》教学课件精品PPT学前班儿童优秀公开课.ppt VIP
- 控制电缆技术规范书.docx VIP
- 人教版《劳动教育》七上 劳动项目九《体验快递派送》课件.ppt VIP
- 2022中国幽门螺杆菌感染治疗指南.pptx VIP
- 考试高科技无线电作弊技术装备图解手册.docx VIP
- 《基于PLC的自动门控制系统设计》-毕业论文.doc VIP
有哪些信誉好的足球投注网站
文档评论(0)