第4章串、数组与广义表 41串的定义与操作 定义:串( string)是由零个或多个字符组 成的有限序列,也称字符串 记为:s=” aaaa a 3 称为串的长度(即串中字符的个数),当n 为零时称为空串。 子串:串中任意连续的字符组成的子序列, 称为原串(主串)的子串 例如:a=”abcd”,b=”abc”,x=”d” 主串 武汉理子患华夏学院信息工串 系
武汉理工大学华夏学院-信息工程 系 第4章串、数组与广义表 4.1 串的定义与操作 定义:串(string)是由零个或多个字符组 成的有限序列,也称字符串。 记为:s=”a0a1a2a3…an ” 其中s称为串名, a0a1a2a3…an称为串值,n 称为串的长度(即串中字符的个数),当n 为零时称为空串。 子串:串中任意连续的字符组成的子序列, 称为原串(主串)的子串。 例如:a=”abcd”,b=”abc”,x=”d” 主串 子串 子串
串的比较运算 两串相等:两串的长度相等且对应位置的字符 都相同时,称为两串相等。 当两串不等时按字典序比较大小 注意:1串值必须用“”括起来 2.空串与空白串的区别:空串长度为0, 空白串的长度大于0; 常用的串操作有: 赋值:将一个串值赋给串变量s; 复制:将一个串s1赋给另一个串变量s; 连接:两个串首尾相连,形成另一个新串 以及判串相等、求串长、求子串、定位、插入、 删除、替换等操作。 武汉理工大学华夏学院-信息工程 系
武汉理工大学华夏学院-信息工程 系 串的比较运算 两串相等:两串的长度相等且对应位置的字符 都相同时,称为两串相等。 当两串不等时按字典序比较大小。 注意:1.串值必须用“”括起来; 2. 空串与空白串的区别:空串长度为0, 空白串的长度大于0; 常用的串操作有: 赋值:将一个串值t赋给串变量s; 复制:将一个串s1赋给另一个串变量s; 连接:两个串首尾相连,形成另一个新串; 以及判串相等、求串长、求子串、定位、插入、 删除、替换等操作
42串的存储结构 串的顺序存储 用一组地址连续的存储单元存储串值的字 符序列,c语言中用字符数组来实现。 例如 char sl (20), name(8) 二、串的堆分配存储 串变量的存储空间是在程序执行过程中动 态分配得到的,程序中出现的所有串变量的值 共享一个称为“堆”的存储空间 串的链式存储 用单链表来实现。 武汉理工大学华夏学院-信息工程 系
武汉理工大学华夏学院-信息工程 系 4.2 串的存储结构 一、串的顺序存储 用一组地址连续的存储单元存储串值的字 符序列,c语言中用字符数组来实现。 例如:char s1〔20〕,name〔8〕等 二、串的堆分配存储 串变量的存储空间是在程序执行过程中动 态分配得到的,程序中出现的所有串变量的值 共享一个称为“堆”的存储空间。 三、串的链式存储 用单链表来实现
4.5数组 、数组的概念:一组相同类型数据有序的 组合,其中每一个数据称为数组元素 设一个m行n列的矩阵A为: 11 a a21222 a2 n A= I amI am 2 °amn 武汉理工大学华夏学院-信息工程 系
武汉理工大学华夏学院-信息工程 系 4.5 数组 一、数组的概念:一组相同类型数据有序的 组合,其中每一个数据称为数组元素 设一个m行n列的矩阵A为: | a11 a12 · · · a1 n | | a21 a22 · · · a2 n | A=| · · · | | · · · | | am1 am 2 · · · am n |
二、二维数组的处理方法 1、矩阵的逻辑特点 设一个m行n列的矩阵A为: 11a 12 a In a21a22 a 2 n A= I amI am 2 am n 武汉理工大学华夏学院-信息工程 系
武汉理工大学华夏学院-信息工程 系 二、二维数组的处理方法 1、矩阵的逻辑特点 设一个m行n列的矩阵A为: | a11 a12 · · · a1 n | | a21 a22 · · · a2 n | A=| · · · | | · · · | | am1 am 2 · · · am n |