我反思了一下前两篇的问题,发现讲知识点还是要简明扼要
常见的字符串里的名词
空串:不含任何字符的串,串长度=0
空格串:仅由一个或多个空格组成的串
子串:由串中任意个连续的字符组成的子序列。
主串:包含子串的串。 如:A=’Shenzhen University’ B=’University’ A为主串,B为子串
位置:字符在主串中的序号。子串在主串中的位置以子串第一个字符在主串中的位置来表示。
串相等的条件:当两个串的长度相等且各个对应位置的字符都相等时才相等。
模式匹配:确定子串在主串中首次出现的位置的运算
在串的基本操作中,通常以“串的整体”作为操作对象,如:在串中查找某个子串、在串的某个位置上插入一个子串等。很少以字符为操作单位(否则和线性表没有区别)
最小操作集:
这些操作不可能利用其他串操作来实现,反之,其他串操作(除串清除ClearString和串销毁DestroyString外)可在这个最小操作子集上实现。
怎么理解这个最小操作集?
例如判断串是否为空串的函数和判断串的字符个数(长度)的函数其实可以用同一个函数经过略微修改实现,比如我只需求串长,当长度=0即为空,本质上这两个函数都是求串长,则求串长是这两个操作的最小操作。