- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构与算法第三章2013课件
;3.1 字符串抽象数据类型;3.1字符串抽象数据类型; 3.1.1 基本概念;3.1.1.1字符串常数和变量;3.1.1.2 字符;3.1.1.3 字符的编码顺序;3.1.1.4 C++标准string;3.1.1.4 C++标准string(续);3.1.1.4 C++标准string(续);3.1.1.4 C++标准string(续);3.1.2 String抽象数据类型;class String //字符串类
//它的存储结构和实现方法使用了C++标准string(简称标准串),
//为了区别,类String所派生创建的实例对象,简称‘本串’,或‘实例串’
//在程序首,要#include string.h和#include iostream.h及
// 及#include stdlib.h,以及#include assert.h
{
//1.字符串的数据表示:
//字符串S 通常用顺序存放,用数组S[]存储,元素的类型为char
//字符串为变长,使用变量size记录串的当前长度
// 2.使用变量访问字符串:
//字符串变量能参与运算,例如S1 + S2表示两个字符串首尾拼接在一起
//用数组str[]存储字符串,在内部可以用str[i]访问串的第i个字符,
// 3.字符串类的运算集:请参看下面的成员函数
;private:
char *str; //私有的指针变量,用于指向存储向量str[size+1]
int size; //本串的当前实际长度
public:
String(char *s = “”); //创建一个空的字符串
String(char *s); // 创建新字符串,并将标准字符串s拷贝为初值
String(const String copy);//拷贝构造函数
~String() // 销毁本串,从计算机存储空间删去本串
//下面是算子的定义,包括赋值算子= 拼接算子+ 和比较算子 等
const String operator= (const char *s);
//赋值操作=,标准串s拷贝到本串
const String operator= (const String s);
//赋值操作=,串s复制到本串
String operator+ (char *s);//拼接算子+,本串拼接标准串s
String operator+ (String s);//拼接算子+,本串拼接串s
friend String operator+ (char *s1, String s);
//友函数作为拼接算子+ 其返回值是一个实例串,等于标准串str拼接串s
;
//‘关系’算子,用于比较相等、大、小,例如
bool operator (char *s);//比较大小,本串小于标准串s则返回非0
bool operator (String s);//比较大小,本串小于串s则返回非0
friend bool operator (char *s1, String s); //友函数用于比较,
// ,标准串s1小于串s,则返回非0
//‘输入输出??算子和 以及读子串等,例如友函数
friend istream operator (isteream istr,String s);
friend ostream operator (osteream ostr,String s);
// ‘子串函数’:插入子串、寻找子串、提取子串、删除子串等,例如
String Substr(int index,int count); //它们的功能参见下文
//‘串与字符’函数:按字符定位等,例如
int Find(char c,int start);//在本串中寻找字符c,从下标start开始找,
// 寻找到c后,返回字符c在本串的下标位置
//其他函数:求串长、判空串、清为空串、
int strlen(); //返回本串的当前串长
int IsEmpty(); //判本串为空串?
void clear(); //清本串为空串
char operator[](int x); //左操作数
const char operator[](int x)const; //右操作数
};;3.1.2.3 赋值算子、拼接算子和比较算子;3.1.2.4 输入输出算子 和;3.1.2.5 处理子串(Substring)的函数;3.1.2.6 字符串中的字符;3.2 字符串的存储结构和类定义;3.2.1字符串的顺序存储;3.2.1字符串的顺序存储(续);3.2.1字符串的顺序存储(续);3.2.2 字符串类class String的存储结构;;3.2.2 字符串类class String的存储结构(续)
文档评论(0)