数据结构5陈慧南_数组和字符串.ppt

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

DATA STRUCTURE 第4章 数组和字符串 数组 1 特殊矩阵 2 稀疏矩阵 3 字符串 4 数组 1 特殊矩阵 2 稀疏矩阵 3 字符串 4 DATA STRUCTURE §4.4.1 ?字符串ADT 字符串的定义 字符串(简称为串)是由n(≥0)个字符组成的有限序列。 S = “a0 a1 … an-1” ( n≥0 ) 其中,S 是串名,单引号括起来的字符序列是串S的值。n 是串中字符个数,又称串长度,n=0的串称为空串。 要注意区分空串和空白串。 串中任意连续个字符组成的子序列称为该串的子串,包含子串的串称为主串。通常以子串的首字符在主串中的位置作为子串在主串中的位置。 S = “abcabcaabcbcde” P = “aabc” DATA STRUCTURE §4.4.1 ?字符串ADT 字符串ADT ADT String{ 数据: 字符串是由n(≥0)个字符组成的有限序列 S = “a0a1…an-1”,0 ≤ i n 。 运算: Create():建立一个空串。 Destroy():撤消一个串。 Length():返回当前串对象的长度。 Clear():置为空串。 Assign(S):串S的值赋给当前串对象。 Concat(b):将串b连接在当前串对象之后。 DATA STRUCTURE §4.4.1 ?字符串ADT Insert(P,i):将串P插在当前串对象的位置i处。 Delete(i,len):从当前串对象的位置i起删除len个字符。 Substr(i,len):返回当前串对象中,从位置i开始的len个字符组成的子串。 Find(i,P):返回子串P在当前串对象中的位置。若当前串对象不包含串P,则返回-1。 } DATA STRUCTURE §4.4.2 ?字符串的存储表示 顺序表示 串的顺序表示可用C++的一维字符数组来描述。 #includestring.h char s[20]=“cdabcde“; 链接表示 … A B C I ∧ first first A B C D E F G H I ∧ \0 DATA STRUCTURE §4.4.2 ?字符串的存储表示 #include string.h class String { public: String(); String(const char *p); ~String(){ delete [] str; } int Find(int i, String P); private: int n; //当前串长 char *str; //动态一维字符数组的指针 }; String::String(const char *p) { n = strlen(p); str = new char[n+1]; strcpy(str, p); } DATA STRUCTURE §4.4.2 ?字符串的存储表示 C语言中字符串操作函数 函数原型: char* strdup(const char* s) 函数功能: 字符串拷贝,目的空间由该函数分配 函数返回: 指向拷贝后的字符串指针 函数原型: char* strcpy(char* str1,char* str2); 函数功能: 把str2指向的字符串拷贝到str1中去 函数返回: 返回str1,即指向str1的指针 函数原型: char* strncpy(char* dest, const char* src,int count) 函数功能: 将字符串src中的count个字符拷贝到字符串dest中去 函数返回: 指向dest的指针 函数原型: unsigned int strlen(char* str); 函数功能: 统计字符串str中字符的个数(不包括终止符\0) 函数返回: 返回字符串的长度. DATA STRUCTURE §4.4.2 ?字符串的存储表示 C语言中字符串操作函数 函数原型: char* strchr(char* str,char ch); 函数功能: 找出str指向的字符串中第一次出现字符ch的位置 函数返回: 返回指向该位置的指针,如找不到,则返回空指针 函数原型: char* strrchr(const char *s, int c) 函数功能: 得到字符串s中最后一个含有c字符的位置指针 函数返回: 位置指针 函数原型: char* strstr(char* str1,char* str2); 函数功能: 找出str

文档评论(0)

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

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

1亿VIP精品文档

相关文档