目录
串
只能是字符的线性表。
子串
串中取任意字符包括串自身。
字符串位置
子串在串中第一个字符出现的位置。
串的操作无非增删查改拼接等等,高级语言中都有相应的函数,即使没有使用线性表中各个函数结合也可以做到,这里就不具体实现了。
串的链式存储常用块链(一块中存几个字符,然后在指向下一块),可以增加密度。
数组
相同类型的元素集合。
线性表是特殊的数组也就是一维数组,一个前驱一个后继。
二维数组,有两个前驱两个后继,物理上就是行列个一个前驱后继。
同理三维数组就是三个等等。
数组的操作就是构造,销毁,取值,赋值等等这里我也不进行实现了。
数组的结构是固定的,所以一般不会出现链式结构,同样数组中也一般不会出现插入删除操作。
数组存储公式
loc(0,0) 起始位置(数组首地址)
L 类型大小
二维数组(loc(m,n))
loc(i,j) = loc(0,0) + (i * n + j) * L
三维数组(loc(m,n,p))
loc(i,j,k) = loc(0,0) + (i * n * p + j * p + k) * L
广义表
又称列表(lists),线性表是相同类型元素,广义表不一定是相同类型元素。
每个元素可以是单独的一个元素,也可以还是一个广义表(子表)。
广义表的灵活度很高,几乎任何数据结构(其实可以说成所