实验三 串
一、实验目的和要求
1、理解串的存储结构及基本操作实现。
2、掌握串的模式匹配算法及应用。
二、实验仪器和设备
微型计算机
三、实验内容与过程
1、验证性实验:实现顺序串的基本操作
实验内容:编写一个程序sqstring.cpp (或.c),实现顺序串的各种基本运算,并在此基础上编写一个程序exp4-1.cpp (或.c) 完成以下功能。
(1) 建立串s="abcdefghefghijklmn"和串s1="xyz"。
(2) 输出串s。
(3) 输出串s的长度。
(4) 在串s的第9个字符位置插入串s1而产生串s2。
(5) 输出串s2。
(6) 删除串s的第2个字符开始的5个字符而产生串s2。
(7) 输出串s2。
(8) 将串s的第2个字符开始的3个字符替换成串s1而产生串s2。
(9) 输出串s2。
(10) 提取串s的第2个字符开始的10个字符而产生串s3。
(11) 输出串s3。
(12) 将串s1和串s2连接起来而产生串s4。
(13) 输出串s4。
2、验证性实验:实现链串的基本操作
实验内容:编写一个程序listring.cpp (或.c),实现链串的各种基本运算,并在此基础上编写一个程序exp4-2.cpp (或.c) 完成以下功能。
(1) 建立串s="abcdefghefghijklmn"和串s1="xyz"。
(2) 输出串s。
(3) 输出串s的长度。
(4) 在串s的第9个字符位置插入串s1而产生串s2。
(5) 输出串s2。
(6) 删除串s的第2个字符开始的5个字符而产生串s2。
(7) 输出串s2。
(8) 将串s的第2个字符开始的5个字符替换成串s1而产生串s2。
(9) 输出串s2。
(10) 提取串s的第2个字符开始的10个字符而产生串s3。
(11) 输出串s3。
(12) 将串s1和串s2连接起来而产生串s4。
(13) 输出串s4。
3、验证性实验:实现顺序串的BF算法
实验内容:编写一个程序exp4-3.cpp (或.c) 完成以下功能。
(1) 建立主串s="abcabcdabcdeabcdefabcdefg"和模式串t="abcdeabcdefab"
(2) 在主串s中设置BF算法匹配的起始位置,并实现BF算法。
(3) 主串s调用BF算法并以起始位置和模式串T为参数,验证BF算法的正确性。