网站大量收购独家精品文档,联系QQ:2885784924

抽象数据类型与运算.ppt

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

字符串 —— 抽象数据类型与运算 2007/03/26 字符串基本概念 字符串简称串,是一种特殊的线性表,其特殊性主要在于表中的每个元素是一个字符。 一个串可以记作s=s0s1…sn-1(n ≥ 0),其中s是串的名字,双引号括起来的字符序列s0s1…sn-是串的值。 例如: A = 123 B = ABBABBC C = BB D = BB E = C语言中定义的字符串 存储结构: 字符数组 + 头指针 + ‘\0’ 操作: string.h ?char *strcpy(char *dst, char *sorc) int strcmp(char *str1, char *str2);? char* strcat(char *dest, const char* sorc,size); char* strstr(char *str, const chat *strSearch); size_t strlen(const char* str); gets(char *); puts(char*); … C语言中定义的字符串 —— 操作的实现 字符串的复制: char *strcpy(char *d, char *s) { //这个程序的毛病是,如果字符串s比字符串d要长, //这个程序没有检查拷贝出界,没有报告错误。 //可能会造成d的越界 int i =0; while (s[i] != \0) { d[i] = s[i]; i++; } d[i] = \0; return d; } 字符串的比较 int strcmp( char *d, char *s) { int i =0; do { if (d[i] s[i]) return 1; else if (d[i] s[i]) return -1; i ++; } while (s[i] != \0 d[i] != \0 ); return 0; } 通过C语言建构字符串的ADT 顺序存储结构定义 通过C语言建构字符串的ADT —— 创建空顺序串 PSeqString createNullStr_seq( int m ) { PSeqString pstr = (PSeqString)malloc(sizeof(struct SeqString)); if (pstr != NULL) { pstr-c = (char* )malloc(sizeof (char)*m); if (pstr-c != NULL) { pstr-n = 0; pstr-MAXNUM = m; return (pstr) } else free (pstr); } printf(Out of space!!\n); return NULL; } 通过C语言建构字符串的ADT —— 创建空顺序串 通过C语言建构字符串的ADT —— 匹配子串 int index(PSeqString t,PSeqString p) 求p所指的串在t所指的串中第一次出现时,p所指串的第一个元素在t所指的串中的序号(下标+1)。 算法: 用p中的字符依次与t中的字符比较, 如果:t0 = p0,t1 = p1,…,tm-1 = pm-1,则匹配成功,返回字符t0的位置。 否则: t0 ++; 从p0开始新一轮比较。 直到:匹配成功。或:strlen(p)strlen(t0); 通过C语言建构字符串的ADT —— 朴素子串匹配法 通过C语言建构字符串的ADT —— 朴素子串匹配法 从特征向量到KMP算法 模板串P开头的任意个字符,把它称为前缀子串。p0p1p2…pm-1 在P的第i位置的左边,取出k个字符,称为i位置的左子串。pi-k+1... p

文档评论(0)

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

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

1亿VIP精品文档

相关文档