ppt课件-基于webgis的拓片检索与导航系统webgisbasedretrievalandnavigationfor.ppt

ppt课件-基于webgis的拓片检索与导航系统webgisbasedretrievalandnavigationfor.ppt

  1. 1、本文档共80页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ppt课件-基于webgis的拓片检索与导航系统webgisbasedretrievalandnavigationfor

数据结构与算法 第三章 字符串 主要内容 3.1 字符串抽象数据类型 3.2 字符串的存储结构和类定义 3.3 字符串运算的算法实现 3.4 字符串的模式匹配 3.1字符串抽象数据类型 3.1.1 基本概念 3.1.2 String抽象数据类型 3.1.1 基本概念 字符串,由0个或多个字符的顺序排列所组成的复合数据结构,简称“串”。 串的长度:一个字符串所包含的字符个数。 空串:长度为零的串,它不包含任何字符内容。 字符串常数和变量 字符串常数 例如: \n 字符串变量 字符 字符(char) :组成字符串的基本单位 。 在C和C++中 单字节(8 bits) 采用ASCII码对128个符号(字符集charset)进行编码 字符的编码顺序 为了字符串间比较和运算的便利,字符编码表一般遵循约定俗成的“偏序编码规则”。 字符偏序:根据字符的自然含义,某些字符间两两可以比较次序。 其实大多数情况下就是字典序 中文字符串有些特例,例如“笔划”序 C++标准string 标准字符串:将C++的string.h函数库作为字符串数据类型的方案。 例如:char S[M]; 串的结束标记:\0 \0是ASCII码中8位BIT全0码,又称为NULL符。 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); C++标准string(续) 5.输入和输出函数 6.定位函数 char *strchr(char *s, char c); 7.右定位函数 char *strrchr(char *s, char c); C++标准string(续) 3.1.2 String抽象数据类型 字符串类(class String): 不采用char S[M]的形式 而采用一种动态变长的存储结构。 3.1.2 String抽象数据类型(续) 赋值算子、拼接算子和比较算子 赋值算子= 拼接算子+ 比较算子 = = != 和 == 输入输出算子 和 输入算子 输出算子 处理子串(Substring)的函数 简称“子串函数” 提取子串 插入子串 寻找子串 删除子串 … 字符串中的字符 重载下标算子[] char operator[] (int n); 按字符定位下标 int Find(char c,int start); 反向寻找,定位尾部出现的字符 int FindLast(char c); 3.2 字符串的存储结构 和类定义 3.2.1字符串的顺序存储 3.2.2字符串类class String的存储结构 3.2.1字符串的顺序存储 对于串长变化不大的字符串,可以有三种处理方案: (1)用S[0]作为记录串长的存储单元。 缺点:限制了串的最大长度不能超过256。 3.2.1字符串的顺序存储(续) (2)为存储串的长度,另辟一个存储的地方。 缺点:串的最大长度一般是静态给定的,不是动态申请数组空间。 3.2.1字符串的顺序存储(续) (3)用一个特殊的末尾标记\0。 例如:C++语言的string函数库(#include string.h)采用这一存储结构。 3.2.2 字符串类class String的存储结构 抽取子串函数 例如: String s1 = value-; s2 = s1.Substr(2,3); 上述语句涉及的存储形式如下页所示。 3.2.2 字符串类class String的存储结构(续) 3.2.2 字符串类class String的存储结构(续) 微软VC++的CString类介绍 自动的动态存储管理,串的最大长度不超过2GB 容器型 不必使用new和delete 使用特点: 变量申明 CString s6( x, 6 ); // s6 = xxxxxx CString city = Philadelphia; // 串常数作为初值 赋值语句 s1 = s2 = hi there; 变量比较 if( s1 == s2 ) 方法调用 s1.MakeUpper(); 内部字符比较 if( s2[0] == h ) 3.3 字符串运算的算法实现 1. 串长函数 int strlen(char *s); 2. 串复制 char *

文档评论(0)

MvS023247 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档