第四章数组串及广义表.ppt

  1. 1、本文档共101页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
§ 4.4.1 字符串抽象类型和类定义 2 、堆分配存储表示 ---- 顺序映像 ? 类型定义 ? 一些操作的实现 ? 评价 ? 基于动态存储管理 ? 建立 串名 和 串值 的映射关系 ? 处理方便、串值共享 char *str ; int size; int maxSize; // 串值所在的存储区的起始地址 // 串长度 § 4.4.1 字符串抽象类型和类定义 三、字符串类的 C++ 描述 连 续 存 储 空 间 抽 象 数 据 类 型 高 级 语 言 描 述 ( C++) 堆 分 配 存 储 的 串 类 p.158----p.158 § 4.4.1 字符串抽象类型和类定义 const int maxLen = 128; class String { int curLen; // 串的当前长度 char *ch; // 串的存储数组 public: String ( const String& ob ); String ( const char * init ); String ( ); ~String ( ) { delete [ ] ch; } int Length ( ) const { return curLen; } // 求当前串 *this 的实际长度 String &operator ( ) ( int pos, int len ); // 取 *this 从 pos 开始 len 个字符组成的子串 int operator == ( const String &ob ) { return strcmp (ch, ob.ch) == 0; } // 判当前串 *this 与对象串 ob 是否相等 int operator != ( const String &ob ) const { return strcmp (ch, ob.ch) != 0; } // 判当前串 *this 与对象串 ob 是否不等 int operator ! ( ) const { return curLen == 0; } // 判当前串 *this 是否空串 String &operator = (String &ob); // 将串 ob 赋给当前串 *this String &operator += (String &ob); // 将串 ob 连接到当前串 *this 之后 char &operator [ ] ( int i ); // 取当前串 *this 的第 i 个字符 int Find ( String & pat ) const; } § 4.4.2 字符串类操作的实现 const int maxLen = 128; class String { int curLen ; // 串的当前长度 char *ch ; // 串的存储数组 public: String ( const String & ob ); String ( const char *init ); String ( ); ~ String ( ) { delete [ ] ch ; } int Length ( ) const { return curLen ; } String &operator ( ) ( int pos, int len ); int operator == ( const String & ob ) const { return strcmp ( ch , ob.ch ) == 0; } int operator ! = ( const String & ob ) const { return strcmp ( ch , ob.ch ) ! = 0; } int operator ! ( ) const { return curLen == 0; } String &operator = ( const String & ob ); String &operator += ( const String & ob ); char &operator [ ] ( int i ); int Find ( String & pat ) const; } ( 1 )初始化 String :: String ( const String & ob ) { // 复制构造函数:从已有串 ob 复制 ch = new char[ maxLen+ 1]; if ( ! ch ) { cerr << “ 存储分配错 \ n”

文档评论(0)

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

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

1亿VIP精品文档

相关文档