1 / 17
文档名称:

第四章 字符串 (String).ppt

格式:ppt   页数:17
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第四章 字符串 (String).ppt

上传人:中国课件站 2011/10/11 文件大小:0 KB

下载得到文件列表

第四章 字符串 (String).ppt

文档介绍

文档介绍:字符串(String)
字符串是 n (  0 ) 个字符的有限序列,
记作 S : “”
其中,S 是串名字
“”是串值
ci 是串中字符
n 是串的长度。
例如, S = “Tsinghua University”
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, ) == 0; }
//判当前串*this与对象串ob是否相等
int operator != ( const String &ob )
const { return strcmp (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;
}
String :: String ( const String& ob ) {
//复制构造函数:从已有串ob复制
ch = new char[maxLen+1]; //创建串数组
if ( ch == NULL ) {
cerr << “存储分配错! \n”;
exit(1);
}
curLen = ; //复制串长度
strcpy ( ch, ); //复制串值
}
字符串部分操作的实现
String :: String ( const char *init ) {
//复制构造函数: 从已有字符数组*init复制
ch = new char[maxLen+1]; //创建串数组
if ( ch == NULL ){
cerr << “存储分配错! \n”;
exit(1);
}
curLen = strlen ( init ); //复制串长度
strcpy ( ch, init ); //复制串值
}
String :: String ( ) {
//构造函数:创建一个空串
ch = new char[maxLen+1]; //创建串数组
if ( ch == NULL ) {
cerr << “存储分配错!\n”;
exit(1);
}
curLen = 0;
ch[0] = ‘\0’;
}
提取子串的算法示例
pos+len -1 pos+len -1
 curLen-1  curLen
i n f i n i t y
i n f i n i t y
pos = 2, len = 3
pos = 5, len = 4
f i n
i t y
超出
String& String :: operator ( ) (int pos, int len) {
//从串中第 pos 个位置起连续提取 len 个字符
//形成子串返回
String * temp = new String; //动态分配
if (pos<0 || pos+len-1 >= maxLen || len<0) {
temp->curLen = 0; //返回空串
temp->ch[0] = '\0';
}
else { //提取子串
if ( pos+len -1 >= curLen )
len = curLen - pos;
temp->curLen = len; //子串长度
fo

最近更新

2024年兰考三农职业学院单招综合素质考试题库.. 39页

肱骨关节疾病研究 37页

2024年内蒙古北方职业技术学院单招职业技能考.. 40页

2024年内蒙古机电职业技术学院单招职业倾向性.. 41页

2024年包头职业技术学院单招职业适应性测试题.. 39页

高效节能技术 35页

2024年南充电影工业职业学院单招职业倾向性考.. 40页

2024年南阳农业职业学院单招职业倾向性测试题.. 39页

2024年合肥信息技术职业学院单招职业倾向性考.. 40页

绿色交通发展策略 37页

2024年吉林省四平市单招职业倾向性考试题库必.. 40页

2024年吉林省通化市单招职业适应性测试模拟测.. 40页

高效漂白预处理技术 35页

2024年哈尔滨幼儿师范高等专科学校单招职业技.. 39页

2024年哈尔滨铁道职业技术学院单招职业倾向性.. 41页

2024年喀什职业技术学院单招职业倾向性考试模.. 39页

2024年四川三河职业学院单招职业适应性测试模.. 40页

2024年四川托普信息技术职业学院单招职业技能.. 40页

2024年四川航天职业技术学院单招职业适应性测.. 42页

2024年四川铁道职业学院单招职业适应性测试模.. 40页

2024年大兴安岭职业学院单招职业倾向性测试模.. 43页

2025年广州卫生职业技术学院单招职业技能测试.. 64页

美团代运营业务委托合同 6页

新概念青少版2A各单元重点归纳 15页

九年级家长会课件PPT下载(初三2班) 25页

年产3000万片硝苯地平缓释片车间设计 40页

DB61∕T 926-2014 火灾高危单位消防安全管理与.. 45页

AQ 7011-2018《高温熔融金属吊运安全规程》 11页

保洁外包单位月度考评表 3页

基于 ABAQUS 的切削残余应力仿真说明书 43页