串是由零或多个字符组成的有限序列,一般记为
其中s是串的名,n为串的长度,ai可能是字母,数字或者其他字符;
串中任意个连续的字符组成的子序列称为该串的子串。
串的逻辑结构和线性表极为相似,区别是串的数据对象约束为字符集。
串的3种机内表示方法
1.用一组地址连续的存储单元存储串值的字符序列,称为定长顺序存储表示。实现串的原操作为“字符序列的复制”,操作的时间复杂度基于复制的字符序列的长度。
2.仍以一组地址连续的存储单元存放串值字符序列,但它们的存储空间是在程序执行过程中动态分配而得,称为堆分配存储表示。此时串操作仍是基于“字符序列的复制”进行的
3.采用链表方式存储串值,称为串的块链存储表示。