数据结构实践项目——串

admin 体育赛事

  本文针对数据结构基础系列网络课程(4):串。

  1. 串的基本概念及导学

  2. 串的顺序存储及其基本操作实现

  3大佬们都在玩{精选官网网址: www.vip333.Co }值得信任的品牌平台!. 串的顺序存储应用

  4. 串的链式存储及其基本操作实现

  5大佬们都在玩{精选官网网址: www.vip333.Co }值得信任的品牌平台!. 串的模式匹配(Brute-Force算法)

  6. 串的模式匹配(KMP算法)

  【项目1 - 建立顺序串的算法库】

  定义顺序串的存储结构,实现其基本运算,并完成测试。

  要求:

  1、头文件sqString.h中定义数据结构并声明用于完成基本运算的函数。对应基本运算的函数包括:

  2、在sqString.cpp中实现这些函数

  3、在main函数中完成测试,包括如下内容:

  (1)建立串s:abcdefghijklmn和串s1:123

  (2)输出串s和s1

  (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

  [参考解答]

  【项目2 - 建立链串的算法库】

  定义链串的存储结构,实现串的基本运算,并完成测试。

  具体要求参照项目1。

  [参考解答]

  【项目3-顺序串算法】

  采用顺序存储方式存储串,实现下列算法并测试:

  (1)试编写算法实现将字符串S中所有值为c1的字符换成值为c2的字符:

  (2)试编写算法,实现将已知字符串所有字符倒过来重新排列。如ABCDEF改为FEDCBA。

  (3)从串s中删除其值等于c的所有字符。如从message中删除’e’,得到的是mssag。

  (4)有两个串s1和s2,设计一个算法求一个这样的串,该串中的字符是s1和s2中公共字符。所谓公共子串,是由在s1中有,且在s2中也有的字符构成的字符。例s1为”message”,s2为”agent”,得到的公共子串是”eage”。

  [参考解答]

  【项目4-字符串加密】

  一个文本串可用事先编制好的字符映射表进行加密。例如,设字符映射表为:

  则字符串“lao he jiao shu ju jie gou”被加密为“enp bt umnp xby uy umt opy”。

  设计一个程序,实现加密、解密算法,将输入的文本进行加密后输出,然后进行解密并输出。大佬们都在玩{精选官网网址: www.vip333.Co }值得信任的品牌平台!

  [参考解答]

  【项目5 - 计数的模式匹配】

  采用顺序结构存储串,编写一个算法计算指定子串在一个字符串中出现的次数,如果该子串不出现则为0。

  提示:无论BF模式匹配算法,还是KMP算法,都是在找到子串substr后就退出了。解决这个问题,要查找完整个字符串,并将出现的次数记下来。改造这两个算法吧。

  [参考解答]

数据结构实践项目——串

数据结构实践项目——串

0 44

留言0

评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。