1.若一个字符串长度为n,那么它的子串数目有n(n+1)/2+1个。

2.设S为一个长度为n的字符串,其中的字符各不相同,则S中的互异的非平凡子串(非空且不同于S本身)的个数为(n²/2)+(n/2)-1

3.关于puts和putchar

(1)puts()函数用来向标准输出设备(屏幕)输出字符串并换行,具体为:把字符串输出到标准输出设备,将’\0’转换为回车换行。其调用方式为,puts(s);其中s为字符串字符(字符串数组名或字符串指针)。

(2).putchar()函数作用是向终端输出一个字符。其格式为putchar(c),其中c可以是被单引号(英文状态下)引起来的一个字符,可以是介于0~127之间的一个十进制整型数(包含0和127),也可以是事先用char定义好的一个字符型变量。

4.广义表L=(A,B,C),表头是A,表尾是(B,C),这是定义。tail()表示取字符串的尾部,head()表示取字符串的头,concat()表示字符串拼接。

5.简单匹配算法的时间复杂度为O(m*n),KMP匹配算法时间复杂度为O(m+n).。

6.串就是字符串,是一种特殊的线性表,它的每个结点仅由一个字符组成。

串值也可用链表来存储,由于串的数据元素是一个字符,它只有8位二进制数, 因此用链表存储时,通常一个结点中存放的不是一个字符,而是一个子串,例如: 在编辑系统中,整个文本编辑区可以看成是一个串,每一行是一个子串,构成一个结点。

7.将字符串赋值给字符数组:

(1)定义时直接用字符串赋值。 char a[10]=”hello”;但是不能先定义再赋值,

(2)利用strcpy。

char a[10]; strcpy(a,”hello”)

(3)利用指针。 char *p; p=”hello”;

(4)数组中的字符逐个赋值。

后续会不断补充。