北京大学:《数据结构与算法》课程教学资源(PPT课件讲稿)字符串

数据结构与算法 第三章字符串 主讲人张铭 http://db.pku.edu.cn/mzhang/ds zhang@db.pku.edu.cn 北京大学信息科学与技术学院 网络与信息系统研究所 版权所有,转载或翻印必究
数据结构与算法 第三章 字符串 主讲人 张铭 http://db.pku.edu.cn/mzhang/ds mzhang@db.pku.edu.cn 北京大学信息科学与技术学院 网络与信息系统研究所 ©版权所有,转载或翻印必究

主要内容 31字符串抽象数据类型 32字符串的存储结构和类定义 33字符串运算的算法实现 34字符串的模式匹配 北京大学信息学院 版权所有,转载或翻印必究 Page 2
北京大学信息学院 ©版权所有,转载或翻印必究 Page 2 主要内容 ◼ 3.1 字符串抽象数据类型 ◼ 3.2 字符串的存储结构和类定义 ◼ 3.3 字符串运算的算法实现 ◼ 3.4 字符串的模式匹配

3.1字符串抽象数据类型 311基本概念 a312 String抽象数据类型 北京大学信息学院 版权所有,转载或翻印必究 Page 3
北京大学信息学院 ©版权所有,转载或翻印必究 Page 3 3.1字符串抽象数据类型 ◼ 3.1.1 基本概念 ◼ 3.1.2 String抽象数据类型

311基本概念 ■字符串,由0个或多个字符的顺 序排列所组成的复合数据结构, 简称“串”。 m串的长度:一个字符串所包含的 字符个数。 空串:长度为零的串,它不包含 任何字符内容。 北京大学信息学院 版权所有,转载或翻印必究 Page 4
北京大学信息学院 ©版权所有,转载或翻印必究 Page 4 3.1.1 基本概念 ◼ 字符串,由0个或多个字符的顺 序排列所组成的复合数据结构, 简称“串” 。 ◼ 串的长度:一个字符串所包含的 字符个数。 ◼ 空串:长度为零的串,它不包含 任何字符内容

31.11字符串常数和变量 字符串常数 例如:"ln" 字符串变量 北京大学信息学院 版权所有,转载或翻印必究 Page 5
北京大学信息学院 ©版权所有,转载或翻印必究 Page 5 3.1.1.1字符串常数和变量 ◼ 字符串常数 ◼ 例如: "\n" ◼ 字符串变量

31.1.2字符 字符(char):组成字符串的基 本单位 在C和C++中 单字节(8bits) .用ACI码对128个符号(字符 集 charset)进行编码 北京大学信息学院 版权所有,转载或翻印必究 Page 6
北京大学信息学院 ©版权所有,转载或翻印必究 Page 6 3.1.1.2 字符 ◼ 字符(char) :组成字符串的基 本单位 。 ◼ 在C和C++中 ◼ 单字节(8 bits) ◼ 采用ASCII码对128个符号(字符 集charset)进行编码

31.13字符的编码顺序 为了字符串间比较和运算的便利, 字符编码表一般遵循约定俗成的 “偏序编码规则”。 ■字符偏序:根据字符的自然含义 某些字符间两两可以比较次序 n其实大多数情况下就是字典序 中文字符串有些特例,例如“笔划” 序 北京大学信息学院 版权所有,转载或翻印必究 Page 7
北京大学信息学院 ©版权所有,转载或翻印必究 Page 7 3.1.1.3 字符的编码顺序 ◼ 为了字符串间比较和运算的便利, 字符编码表一般遵循约定俗成的 “偏序编码规则” 。 ◼ 字符偏序:根据字符的自然含义, 某些字符间两两可以比较次序。 ◼ 其实大多数情况下就是字典序 ◼ 中文字符串有些特例,例如“笔划” 序

3114C++标准srng 标准字符串:将C++的 函数库作为字符串 数据类型的方案。 例如: char s[M]P 串的结束标记:"V0 "0是ASCT码中8位B工T全0码, 又称为NUL符。 北京大学信息学院 版权所有,转载或翻印必究 Page 8
北京大学信息学院 ©版权所有,转载或翻印必究 Page 8 3.1.1.4 C++标准string ◼ 标准字符串:将C++的 函数库作为字符串 数据类型的方案。 ◼ 例如:char S[M]; ◼ 串的结束标记:'\0' ◼ '\0'是ASCII码中8位BIT全0码, 又称为NULL符

3114C++标准 string(续) 1.串长函数 int strlen (char *s)i 2,串复制 ar strcpy char *s1, char*s2) ■3.串拼接 char *strcat(char *s1, char *s2) 4.串比较 int strcmp(char *s1, char *s2)i 北京大学信息学院 版权所有,转载或翻印必究 Page 9
北京大学信息学院 ©版权所有,转载或翻印必究 Page 9 3.1.1.4 C++标准string(续) ◼ 1. 串长函数 int strlen(char *s); ◼ 2. 串复制 char *strcpy(char *s1, char*s2); ◼ 3.串拼接 char *strcat(char *s1, char *s2); ◼ 4.串比较 int strcmp(char *s1, char *s2);

3114C++标准 string(续) 5.输入和输出函数 6.定位函数 char xstrchr(char *s, char ci 7.右定位函数 char *strrchr (char *s, char c)i 北京大学信息学院 版权所有,转载或翻印必究 Page 10
北京大学信息学院 ©版权所有,转载或翻印必究 Page 10 3.1.1.4 C++标准string(续) ◼ 5.输入和输出函数 ◼ 6.定位函数 char *strchr(char *s, char c); ◼ 7.右定位函数 char *strrchr(char *s, char c);
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 北京大学:《数据结构与算法》课程教学资源(PPT课件讲稿)二叉树.ppt
- 北京大学:《数据结构与算法》课程教学资源(PPT课件讲稿)线性表、栈和队列.ppt
- 北京大学:《数据结构与算法》课程教学资源(PPT课件讲稿)数据结构和算法简介(概论).ppt
- 北京大学:《数据结构与算法》实习实验教程(PPT课件讲稿)数据结构设计技巧之二.ppt
- 北京大学:《数据结构与算法》实习实验教程(PPT课件讲稿)数据结构设计技巧之一.ppt
- 北京大学:《数据结构与算法》实习实验教程(PPT课件讲稿)实践之四:浅谈软件测试.ppt
- 北京大学:《数据结构与算法》实习实验教程(PPT课件讲稿)实践之三:界面、排错、性能.ppt
- 北京大学:《数据结构与算法》实习实验教程(PPT课件讲稿)浅谈软件开发过程.ppt
- 北京大学:《数据结构与算法》实习实验教程(PPT课件讲稿)实践之一:编程风格.ppt
- 北京大学:《数据结构与算法》实习实验教程(PPT课件讲稿)概论.ppt
- 北京大学:《数据结构与算法》实习实验教程(PPT课件讲稿)补充2:IOStream.ppt
- 北京大学:《数据结构与算法》实习实验教程(PPT课件讲稿)补充2:C++ STL.ppt
- 北京大学:《数据结构与算法》实习实验教程(PPT课件讲稿)算法之五:动态规划.ppt
- 北京大学:《数据结构与算法》实习实验教程PPT课件:算法之四——分治法.ppt
- 北京大学:《数据结构与算法》实习实验教程(PPT课件讲稿)算法之三:贪心法.ppt
- 北京大学:《数据结构与算法》实习实验教程(PPT课件讲稿)算法之二:回溯法.ppt
- 北京大学:《数据结构与算法》实习实验教程(PPT课件讲稿)算法之一:穷举法.ppt
- 北京大学:《数据结构与算法》课程教学资源(教学设计)数据结构应用(高军).pdf
- 北京大学:《数据结构与算法》课程教学资源(教学设计)高级数据结构(张铭).pdf
- 北京大学:《数据结构与算法》课程教学资源(教学设计)索引.pdf
- 北京大学:《数据结构与算法》课程教学资源(PPT课件讲稿)树与森林.ppt
- 北京大学:《数据结构与算法》课程教学资源(PPT课件讲稿)图.ppt
- 北京大学:《数据结构与算法》课程教学资源(PPT课件讲稿)内排序.ppt
- 北京大学:《数据结构与算法》课程教学资源(PPT课件讲稿)文件管理和外排序.ppt
- 北京大学:《数据结构与算法》课程教学资源(PPT课件讲稿)检索.ppt
- 北京大学:《数据结构与算法》课程教学资源(PPT课件讲稿)索引技术.ppt
- 北京大学:《数据结构与算法》课程教学资源(PPT课件讲稿)高级数据结构.ppt
- 北京大学:《数据结构与算法》课程教学资源(PPT课件讲稿)高级树形结构.ppt
- 北京大学:《数据结构与算法》课程教学资源(实习讲义)概论.pdf
- 北京大学:《数据结构与算法》课程教学资源(实习课件PPT)概论.pdf
- 北京大学:《数据结构与算法》课程教学资源(实习讲义)风格、设计与实现.pdf
- 北京大学:《数据结构与算法》课程教学资源(实习课件PPT)风格、设计与实现.pdf
- 北京大学:《数据结构与算法》课程教学资源(实习讲义)文件操作.pdf
- 北京大学:《数据结构与算法》课程教学资源(实习课件PPT)文件操作(文件流技术).pdf
- 北京大学:《数据结构与算法》课程教学资源(实习讲义)面向对象程序设计.ppt
- 北京大学:《数据结构与算法》课程教学资源(实习讲义)界面技术(界面和排错).pdf
- 北京大学:《数据结构与算法》课程教学资源(实习课件PPT)界面技术(界面和排错).pdf
- 北京大学:《数据结构与算法》课程教学资源(实习讲义)测试、性能和可扩展性.pdf
- 北京大学:《数据结构与算法》课程教学资源(实习课件PPT)测试、性能和可扩展性.pdf
- 北京大学:《数据结构与算法》课程教学资源(实习讲义)浅谈软件项目管理.pdf