第3讲堆栈、队列和字符串要点.ppt

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

void get_nextval(SString T, int nextval[]) { i = 1; nextval[1] = 0; j = 0; while (i T[0]) { if (j = 0 || T[i] == T[j]) { ++i; ++j; if (T[i] != T[j]) nextval[i] = j; else nextval[i] = nextval[j]; } else j = nextval[j]; } } // get_nextval 串C++实现 class String { public: // methods of the string ADT String(); ~String(); String (const String copy); // copy constructor String (const char * copy); // conversion from C-string String (Listchar copy); // conversion from List void operator =(const String copy); const char *c_str() const; // conversion to C-style string protected: char *entries; int length; }; 串比较运算符重载 bool operator ==(const String first, const String second); bool operator (const String first, const String second); bool operator (const String first, const String second); bool operator =(const String first, const String second); bool operator =(const String first, const String second); bool operator !=(const String first, const String second); 串构造函数(1) String::String (const char *in_string) { length = strlen (in_string); entries = new char[length + 1]; strcpy (entries, in_string); } 串构造函数 String::String (Listchar in_list) { length = in_list.size(); entries = new char[length + 1]; for (int i = 0; i length; i++) in_list.retrieve(i,entries[i]); entries[length] = \0; } 将C++串转换为C语言串 const char*String::c_str() const /* Post: A pointer to a legal C-string object matching the String is returned. */ { return (const char *) entries; } 串比较实现 bool operator ==(const String first, const String second) { return strcmp(first.c_str(), second.c_str()) == 0; } bool operator (const String first, const String second) { return strcmp(first.c_str(), second.c_str()) 0; } 进一步串操作示例(1) void strcat(String add_to, const String add_on) { const char *cfirst = add_to.c_str(); c

文档评论(0)

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

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

1亿VIP精品文档

相关文档