C++的标准 string 标准字符串:将cC++的< string. h>函数库作为 字符串数据类型的方案 口例如: char s[w];定义了字符串变量 e.g., char s1[7="value 串的结束标记:"0 口0是ASC码中8位BT全0码,又称为NULL符,专 门用于结束标志 字符串的实际长度为M-1 注意:s1=s2 “十一五”国家缀规划教材。张铭,王腾蛟,赵海£,《飙据结构与算法》,高教社,B0.6
“十一五”国家级规划教材。张铭,王腾蛟,赵海燕,《数据结构与算法》,高教社,2008. 6。 C++的标准string ◼ 标准字符串:将C/C++的<string.h>函数库作为 字符串数据类型的方案 ❑ 例如:char S[M];定义了字符串变量 e.g., char s1[7] = “value”; ◼ 串的结束标记:'\0' ❑ ‘\0’是ASCII码中8位BIT全0码,又称为NULL符, 专 门用于结束标志 ❑ 字符串的实际长度为 M-1 ◼ 注意: s1 = s2
C++标准 string ■串长函数 int strlen(char *s); 串复制 char *strcpy(char *s1, char*s2 ■串拼接 char *strcat(char *s1, char *s2) 串比较(注意) int strcmp(char*s1,char*s2) 输入和输出函数cn>>cout< 定位函数char* strchr(char*s, char c) 右定位函数char* strrchr((char*s, char c) “十一五”国家缀规划教材。张铭,王腾蛟,赵海£,《飙据结构与算法》,高教社,B0.6
“十一五”国家级规划教材。张铭,王腾蛟,赵海燕,《数据结构与算法》,高教社,2008. 6。 C++标准string ◼ 串长函数 int strlen(char *s); ◼ 串复制 char *strcpy(char *s1, char*s2); ◼ 串拼接 char *strcat(char *s1, char *s2); ◼ 串比较 (注意) int strcmp(char *s1, char *s2); ◼ 输入和输出函数 cin>> cout<< ◼ 定位函数 char *strchr(char *s, char c); ◼ 右定位函数 char *strrchr(char *s, char c);
String抽象数据类型 字符串类( class string): 口适应字符串长度动态变化的复杂性 口不再以字符数组 char S[M]的形式出现,而采用 种动态变长的存储结构 “十一五”国家缀规划教材。张铭,王腾蛟,赵海£,《飙据结构与算法》,高教社,B0.6
“十一五”国家级规划教材。张铭,王腾蛟,赵海燕,《数据结构与算法》,高教社,2008. 6。 String抽象数据类型 ◼ 字符串类(class String): ❑ 适应字符串长度动态变化的复杂性 ❑ 不再以字符数组char S[M]的形式出现,而采用 一种动态变长的存储结构
C++ String部分操作列表 操作类别方法 描述 子串 substr o 返回一个串的子串 拷贝交换 swaP0交换两个串的内容 c将一个串拷贝到另一个串中 assign o 把一个串、一个字符、一个子串赋值给另一个串中 赋值 把一个串或一个字符赋值给另一个串中 inserto 在给定位置插入一个字符、多个字符或串 插入/追加 将一个字符或串追加到另一个串后 apnd将一个或多个字符、或串追加在另一个串后 拼接 通过将一个串放置在另一个串后面来构建新串 查询 find o 找到并返回一个子序列的开始位置 eplace(0替换一个指定字符或一个串的字串 替换清除 cea0清除串中的所有字符 0 返回串中字符的数目 统计 length 返回ie0 max size0返回串允许的最大长度 “十一五”国家缀规划教材。张铭,王腾蛟,赵海£,《飙据结构与算法》,高教社,B0.6
“十一五”国家级规划教材。张铭,王腾蛟,赵海燕,《数据结构与算法》,高教社,2008. 6。 C++ String 部分操作列表 操作类别 方法 描述 子串 substr () 返回一个串的子串 拷贝/交换 swap () 交换两个串的内容 copy () 将一个串拷贝到另一个串中 赋值 assign () 把一个串、一个字符、一个子串赋值给另一个串中 = 把一个串或一个字符赋值给另一个串中 插入/追加 insert() 在给定位置插入一个字符、多个字符或串 += 将一个字符或串追加到另一个串后 append () 将一个或多个字符、或串追加在另一个串后 拼接 + 通过将一个串放置在另一个串后面来构建新串 查询 find () 找到并返回一个子序列的开始位置 替换/清除 replace () 替换一个指定字符或一个串的字串 clear () 清除串中的所有字符 统计 size () 返回串中字符的数目 length () 返回size () max_size () 返回串允许的最大长度
字符串的存储结构和实现 字符串的顺序存储 字符串类 class string的存储结构 C艹标准串的运算实现 String类的运算实现 “十一五”国家缀规划教材。张铭,王腾蛟,赵海£,《飙据结构与算法》,高教社,B0.6
“十一五”国家级规划教材。张铭,王腾蛟,赵海燕,《数据结构与算法》,高教社,2008. 6。 字符串的存储结构和实现 ◼ 字符串的顺序存储 ◼ 字符串类class String的存储结构 ◼ C++标准串的运算实现 ◼ String类的运算实现