- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《算法与数据结构》教学课件-第3章 字符串--C语言描述(第2版)张乃孝编著汇
张乃孝 算法与数据结构——C语言描述 算法3.5 朴素的模式匹配算法 int index(PSeqString t, PSeqString p){ // 求p所指的串在t所指的串中第一次出现时, // p所指的串的第一个元素在t所指的串中的序号 int i,j;//i,j分别为p串、t串中当前字符的下标, i=0;j=0; while(ip-n jt-n) if(p-c[i] == t-c[j]){ i++;j++ else j=j-i-1; i=0; } if(i==p-n) return(j-p-n+1); else return 0; } * * 3 字符串 3.1 字符串及其抽象数据类型 3.2 字符串的实现 3.3 模式匹配 字符串:简称串,是特殊的线性表,其特殊性主要在于表中的每个元素是一个字符,以及由此而要求的一些特殊操作。 3.1 字符串及其抽象数据类型 3.1.1 基本概念 长度:一个串中包括的字符个数。长度为零的串称为空串。 子串:字符串s1中任意个连续的字符组成的子序列s2被称为是s1的子串,而称s1是s2的主串。 位置:子串在主串中的位置是以子串的第一个字符在主串中的字符序号(下标+1)。 相等:两个串的长度相等,并且对应位置上的字符都 相等。 ADT3.1 字符串的抽象数据类型 ADT String is operations string createNullStr(void) 创建一个空串 int isNullstr(String s) 判断一个串是否为空串 int length(String s) 求一个串的长度 String concat(String s1, String s2) 将两个串拼接在一起构成一个新串 String subStr(String s, int i, int j) 在串s中,求从串的第i个字符开始连续j个字符所构成的子串 int index(String s1,String s2) 求串S2在串S1中第一次出现的位置End ADT String 3.1.2 抽象数据类型 3.2 字符串的实现 3.2.1 顺序表示 3.2.2 链接表示 3.2.1 顺序表示 struct SeqString /* 顺序串的类型 */ { int MAXNUM /* 串允许的最大字符个数 */ int n; /* 串的长度,n?MAXNUM */ char *c; }; typedef struct SeqString *PSeqString; 顺序串的定义 例 算法3.1 创建空顺序串 PSeqString createNullStr_seq( int m ) { PSeqString pstr=new struct SeqString; //申请串空间 if (pstr!=NULL){ pstr-c=new char[m]; if(pstr-c){ pstr-n=0; pstr-MAXNUM=m; return (pstr); } else delete pstr; } printf(“Out of space!! \n”); return NULL; } 算法3.2 求顺序表示的串的子串 PSeqString subStr_seq(PSeqString s,int i,int j) // 求从s所指的顺序串中第i(i0)个字符开始连续取j个字符所构成的子串 { PSeqString s1; int k; s1 = createNullStr_seq(j); /* 创建一空串 */ if (s1==NULL) return (NULL); if ( i0 i=s-n j0 ) { if ( s-ni+j-1 ) j = s-n-i+1; /*若从i开始取不了j个字符,则能取几个就取几个*/ for (k=0;kj;k++) s1-c[k]=s-c[i+k-1]; s1-n=j; } return(s1); } struct StrNo
您可能关注的文档
- “棉二生活小区”可行性研究报告汇.doc
- “易豪”酒店宽带网络运营服务解决方案汇.doc
- “易物乐”团购网系统开发方法汇.ppt
- “爱暖空巢”关爱空巢老人项目招标书汇.doc
- “用户在线注册系统”的用户模块功能设计与实现汇.doc
- “网上购物”系统设计说明书汇.doc
- “百瑞景中央生活区”二期样板间装修工程施工组织设计汇.doc
- “朗芙伊”品牌建设及上市推广汇.ppt
- “温泉城”项目汇.ppt
- “挑战杯”2011河北省大学生课外学术科技作品竞赛-家居安全助手汇.doc
- 2023-2024学年黑龙江省哈尔滨市中考数学试卷(附答案解析).docx
- 中考语文抢分秘籍专题07九年级上册重点古诗词必背知识点.docx
- 中考语文满分作文热点素材集锦及实战演练专题03 后疫情时代:写作角度+关键词+金句名言+时评+范文.docx
- 中考语文抢分秘籍秘籍06古诗文名篇名句默写(原卷版+解析).docx
- 中考语文抢分秘籍专题17中考字音、字形分册梳理.docx
- 2023-2024学年山东省济宁市中考数学试卷(附答案解析).docx
- 中考语文满分作文热点素材集锦及实战演练专题06 汶川地震被救少年14年后救火牺牲.docx
- 中考语文满分作文热点素材集锦及实战演练专题03 天宫课堂第三课.docx
- 中考语文满分作文热点素材集锦及实战演练专题04 《典籍里的中国》“大而美”古籍因此“活起来”.docx
- 2023-2024学年山东省济南市中考数学试卷(附答案解析).docx
最近下载
- SY_T 5660-2020 钻井液用包被絮凝剂 聚丙烯酰胺类.pdf VIP
- 2021-202x年基金管理人员工跟投基金投资协议-经典(律师审定版).docx
- 2010-2015年 中国电梯行业市场发展前景及投资分析报告.doc
- 78度智慧参考资料.pdf
- 基层儿科医务人员服务能力提升学习班答案-2024华医网继续教育答案.docx VIP
- DELTA台达伺服驱动器 ASDA-A2使用手册-操作说明书.pdf
- 国际贸易实务英文版(第五版)周瑞琪教材辅导习题解答.pdf
- 基于高斯滤波和近似积分的电动车窗防夹算法.pdf
- Application for Export Transaction 离岸客户填写指南.doc VIP
- 2023年膨化食品行业市场需求分析报告及未来五至十年行业预测报告.docx
文档评论(0)