2014数据结构习字符串_第1页
2014数据结构习字符串_第2页
2014数据结构习字符串_第3页
2014数据结构习字符串_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、线性表习题1(顺序串)说明:(1)这次的作业任意组合够10分。(2)如无特殊说明,这里的字符串均为C语言的0字符结尾串!(3)字符串可能很短,也可能来自一个文本文件,如一篇小说。(4)除测试部分用printf打印结果外,程序中不得出现任何库函数。(5)涉及判读字符类型的部分,可以复习一下ASCII码表。(6)这次的头文件用同一个,C文件一题一个。Ex04(本题1分):编写字符串检查函数String_Check,查找是否字符串 str 中所有字符都属于字符串 range,如果有字符不属于,返回第一个不属于的字符的指针,否则返回NULL。Ex05(本题1分):编写字符串插入函数String_Ins

2、ert,将字符串sub插入到字符串str中,插入位置为pos(从0开始)。假设分配给str的内存空间长度足够。Ex06(本题1分):上一题,设分配给字符串str的空间有限,为size(字节数,结尾的0字符也算在内),插入后有可能超出,重写该函数,保证不发生非法内存访问。Ex07(本题1分):编写字符串对齐函数String_Align,将字符串s变为指定长度n的右对齐字符串,结果放在字符数组t中。如果s较短,在左侧填充适当数量的空格。如果s过长,截断右侧超出部分,并在尾部放一个问号“?”。问号算在长度n里。假设分配给t的空间足够。Ex09(本题2分):写一个函数String_Stat统计在字符串

3、 str 中各个不同字符出现的频度并将每种字符(重复出现的字符算1种)按频度从大到小排序,存放在整数数组 freq_list 中。假设freq_list 空间足够。函数返回值为字符的种类数,也就是 freq_list 的实际长度。Ex10(本题2分):写函数 String_TestType 按C语言语法规则判断一个字符串的类型,用枚举类型 STRTYPE 表示。类型包括:KEYWORD(关键字)/枚举类型。IDENTIFIER(标识符)SYMBOL(符号,指(),;和各种运算符)NUMBER(数字,只考虑整数,负数前面的负号算SYMBOL,不用考虑)CHAR(字符常量,用单引号括起来的,不用考

4、虑转义字符)STRINGC(字符串常量,用双引号括起来的,不用考虑转义字符)Ex11(本题2分):设计文本字符串编码函数String_Encode,List_SrcCode和List_DstCode是连个线性表,两表中元素均为字符串且一一对应,将String_Encode中所有与List_SrcCode中元素匹配的片段替换为List_DstCode中相应的元素。Ex12(本题3分):设计一个单行文本匹配函数 String_Match,找出字符串 str 中与表达式 exp 匹配的“第一个”子串,返回子串指针,NULL表示未找到。参数 dir 表示查找方向:dir=+1,正向(头尾)找;dir=

5、-1,逆向(尾头)找。表达式 exp 支持通配符:“?”表示任一个字符,“*”表示从该位置开始的0到任意多个任意字符。例如:“abc*”,表示前3个是“abc”,之后为任意多个任意字符;“abc*def”跟“abc*”其实没有任何不同!“abc?”表示前3个是“abc”,之后为某个任意字符。Ex13(本题5分):设计一个字符串命令解释函数String_Process,按字符串 cmd 给出的命令对字符串 str 进行处理,结果存放在字符数组 result 里。cmd 由一串命令字符组成。4种命令字符如下:“”:“光标”右移1个字符。“光标”起始位置为0。如果光标已到末尾,再右移无效。“”:“光标”左移1个字符。如果“光标”已经到0,再左移无效。“”:插入。“”之后直到下一个命令字符或串尾的字符全部插入 str 中当前位置。插入后光标自动移动到插入部分尾部。“”:删除。“”后跟1个数字n,表示删除当前位置开始的n个字符。例如:原本 str = “AA”,经过命令串“abcgh”处理后,经过如下几步(“|”表示光标当前位置,红色代表每执行一步命令后相对前

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论