PS: This is a note.
基本字符串的应用及相关算法
基础知识
- ASCLL码表: 美国标准
- 字符: 单引号、单字符: ‘0’,’A’,’a’(等价于单字节无符号整型数)
- 字符串
- 实质: char数组
- 特殊结构: 以一个额外的0作为结尾
- 注意: ‘\0’是空字符,ASCLL编码是0,即空格字符不同
- 子串: 字符串中连续的一段字符(依然是一个字符串)
- 前缀: 包含了第一个字符的子串
- 后缀: 包含了最后一个字符的子串
- 子序列: 字符串中的一些字符组成的新串(不一定要连续,但是要按照原来的顺序)
- 字典序: 首字符起,依次根据ASCLL码比较
- 回文串: 正写和倒写相同的字符串
字符数组(char *)
1、定义: char数组名[长度]
2、存储
3、输入输出
int main()
{
char c1,c2;
scanf("%c",&c1);
c2=getchar();
printf("%c %d",c1,c2);
return 0;
}
4、相关处理函数
注:(1)、(2)记得看回放
例题
e.g. 回文日期(洛谷P2010)
e.g. 乒乓球(洛谷P1042)
e.g. 字符串的展开(洛谷P1098)
e.g. 国王的魔镜(洛谷P2799)
e.g. 拼数(洛谷P1012)
e.g. 表达式求值(洛谷P1981)
e.g. 重复字符串(洛谷P8739)
e.g. 编辑距离(洛谷P2758)
e.g. 单词背诵(洛谷P1381)
e.g. 家谱(洛谷P2814)
e.g. 俄罗斯方块(洛谷P2814)