欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    数据结构课后习题与解析第四章.pdf

    • 资源ID:72025145       资源大小:317.97KB        全文页数:11页
    • 资源格式: PDF        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据结构课后习题与解析第四章.pdf

    .第四章习题第四章习题1.设 s=I AM A STUDENT,t=GOOD,q=WORKER。给出下列操作的结果:StrLength(s);SubString(sub1,s,1,7);SubString(sub2,s,7,1);StrIndex(s,A,4);StrReplace(s,STUDENT,q);StrCat(StrCat(sub1,t),StrCat(sub2,q);2.编写算法,实现串的基本操作 StrReplace(S,T,V)。3.假设以块链结构表示串,块的大小为 1,且附设头结点。试编写算法,实现串的下列基本操作:StrAsign(S,chars);StrCopy(S,T);StrCompare(S,T);StrLength(S);StrCat(S,T);SubString(Sub,S,pos,len)。4 叙述以下每对术语的区别:空串和空格串;串变量和串常量;主串和子串;串变量的名字和串变量的值。5已知:S=”(xyz)*”,T=”(x+z)*y”。试利用联接、求子串和置换等操作,将 S 转换为 T.6 S 和 T 是用结点大小为 1 的单链表存储的两个串,设计一个算法将串 S 中首次与 T 匹配的子串逆置。7 S 是用结点大小为 4 的单链表存储的串,分别编写算法在第 k 个字符后插入串 T,及从第 k 个字符删除 len 个字符。.专业 word 可编辑.以下算法用定长顺序串:8编写下列算法:(1)将顺序串 r 中所有值为 ch1 的字符换成 ch2 的字符。(2)将顺序串 r 中所有字符按照相反的次序仍存放在 r 中。(3)从顺序串 r 中删除其值等于 ch 的所有字符。(4)从顺序串 r1 中第 index 个字符起求出首次与串 r2 相同的子串的起始位置。(5)从顺序串 r 中删除所有与串 r1 相同的子串。9 写一个函数将顺序串 s1 中的第 i 个字符到第 j 个字符之间的字符用 s2 串替换。10写算法,实现顺序串的基本操作 StrCompare(s,t)。11写算法,实现顺序串的基本操作 StrReplace(&s,t,v)。实习题1已知串 S 和 T,试以以下两种方式编写算法,求得所有包含在 S 中而不包含在 T 中的字符构成的新串 R,以及新串 R 中每个字符在串 S 中第一次出现的位置。(1)利用 CONCAT、LEN、SUB 和 EQUAL 四种基本运算来实现。(2)以顺序串作为存储结构来实现。.专业 word 可编辑.2编写一个行编辑程序 EDLINE,完成以下功能:(1)显示若干行:list n1-n2:显示第 n1 行到第 n2 行,n1 缺省时,从第一行开始,n2 缺省时,到最后一行,(2)删除若干行。del n1-n2:n1、n2 说明同(1)。(3)编辑第 n 行。edit n:显示第 n 行的内容,另输入一行替换该行。(4)插入一行。ins n:在第 n 行之前插入一行。(5)字符替换。replace str1,str2,n1-n2:在 n1 到 n2 行之间用 str2 替换 str1。3设计一个文学研究辅助程序,统计小说中特定单词出现的频率和位置。第四章答案4.1 设 s=I AM A STUDENT,t=GOOD,q=WORKER。给出下列操作的结果:【解答】StrLength(s)=14;SubString(sub1,s,1,7)sub1=I AM A;SubString(sub2,s,7,1)sub2=;StrIndex(s,4,A)=6;.专业 word 可编辑.StrReplace(s,STUDENT,q);s=I AM A WORKER;StrCat(StrCat(sub1,t),StrCat(sub2,q)sub1=I AM A GOOD WORKER。4.2 编写算法,实现串的基本操作 StrReplace(S,T,V)。【解答】算法如下:intstrReplace(SString S,SString T,SString V)/*用串 V 替换 S 中的所有子串 T*/intpos,i;pos=strIndex(S,1,T);/*求 S 中子串 T 第一次出现的位置*/if(pos=0)return(0);while(pos!=0)/*用串 V 替换 S 中的所有子串 T*/switch(T.len-V.len)case0:/*串 T 的长度等于串 V 的长度*/for(i=0;ichpos+i=V.chi;case0:/*串 T 的长度大于串 V 的长度*/for(i=pos+t.ien;ilen;i-)/*将 S 中子串 T 后的所有字符 S-chi-t.len+v.len=S-chi;前移 T.len-V.len 个位置*/for(i=0;ichpos+i=V.chi;S-len=S-len-T.len+V.len;caselen-T.len+V.len)len-T.len+V.len;i=pos+T.len;i-)S-chi=S-chi-T.len+V.len;for(i=0;ichpos+i=V.chi;S-len=S-len-T.len+V.len;else.专业 word 可编辑./*替换后串长MAXLEN,但串 V 可以全部替换*/if(pos+V.len=pos+T.len;i-)S-chi=s-chi-T.len+V.lenfor(i=0;ichpos+i=V.chi;S-len=MAXLEN;else /*串 V 的部分字符要舍弃*/for(i=0;ichi+pos=V.chi;S-len=MAXLEN;/*switch()*/pos=StrIndex(S,pos+V.len,T);/*求 S 中下一个子串 T 的位置*/*while()*/return(1);/*StrReplace()*/.专业 word 可编辑.附加题:用链式结构实现定位函数。【解答】typedefstructNodechardata;structNode*next;Node,*Lstring;intstrIndex(LstringS,int pos,LstringT)/*从串 S 的 pos 序号起,串 T 第一次出现的位置*/Node*p,*q,*Ppos;int i=0,,j=0;if(T-next=NULL|S-next=NULL)return(0);p=S-next;q=T-next;.专业 word 可编辑.while(p!=NULL&jnext;j+;if(j!=pos)return(0);while(p!=NULL&q!=NULL)Ppos=p;/*Ppos 指向当前匹配的起始字符*/if(p-data=q-data)p=p-next;q=q-next;else/*从 Ppos 指向字符的下一个字符起从新匹配*/p=Ppos-next;q=T-head-next;i+;if(q=NULL)return(pos+i);/*匹配成功*/elsereturn(0);/*失败*/.专业 word 可编辑.第第 4 4 章章串串习题习题1.1.设设 s=s=I AM A STUDENTI AM A STUDENT,t=t=GOODGOOD,q=q=WORKERWORKER。给出下列操作的结果给出下列操作的结果:StrLength(s);StrLength(s);SubString(sub1,s,1,7);SubString(sub1,s,1,7);SubString(sub2,s,7,1);SubString(sub2,s,7,1);StrIndex(StrIndex(s,A,4);s,A,4);StrReplace(StrReplace(s,STUDENT,qs,STUDENT,q););StrCat(StrCat(sub1,t),StrCat(sub2,q);StrCat(StrCat(sub1,t),StrCat(sub2,q);参考答案参考答案 StrLength(s)=StrLength(s)=1414;sub1=sub1=I AM A_I AM A_;sub2=sub2=_;StrIndexStrIndex(s,A,4)=(s,A,4)=6 6;StrReplace(StrReplace(s,STUDENT,qs,STUDENT,q)=)=I AM A WORKERI AM A WORKER;StrCat(StrCat(sub1,t),StrCat(sub2,q)=StrCat(StrCat(sub1,t),StrCat(sub2,q)=I AM A GOOD WORKERI AM A GOOD WORKER;2.2.编写算法编写算法,实现串的基本操作实现串的基本操作 StrReplace(S,T,V)StrReplace(S,T,V)。3.3.假设以块链结构表示串假设以块链结构表示串,块的大小为块的大小为 1 1,且附设头结点且附设头结点。试编写算法试编写算法,实现串的下列基本操作实现串的下列基本操作:.专业 word 可编辑.StrAsign(S,chars)StrAsign(S,chars);StrCopy(S,T)StrCopy(S,T);StrCompare(S,T)StrCompare(S,T);StrLength(S)StrLength(S);StrCat(S,T)StrCat(S,T);SubString(Sub,S,pos,len)SubString(Sub,S,pos,len)。说明说明:用单链表实现用单链表实现。4 4叙述以下每对术语的区别叙述以下每对术语的区别:空串和空格串空串和空格串;串变量和串常量串变量和串常量;主串和子主串和子串串;串变量的名字和串变量的值串变量的名字和串变量的值。5 5已知已知:S=S=”(xyz)*(xyz)*”,T=,T=”(x+z)*y(x+z)*y”。”。试利用联接试利用联接、求子串和置换等操作求子串和置换等操作,将将S S 转换为转换为 T.T.6 6S S 和和 T T 是用结点大小为是用结点大小为 1 1 的单链表存储的两个串的单链表存储的两个串,设计一个算法将串设计一个算法将串 S S 中中首次与首次与 T T 匹配的子串逆置匹配的子串逆置。7 7S S 是用结点大小为是用结点大小为 4 4 的单链表存储的串的单链表存储的串,分别编写算法在第分别编写算法在第 k k 个字符后插入个字符后插入串串 T T,及从第及从第 k k 个字符删除个字符删除 lenlen 个字符个字符。以下算法用定长顺序串以下算法用定长顺序串:8 8写下列算法写下列算法:(1 1)将顺序串将顺序串 r r 中所有值为中所有值为 ch1ch1 的字符换成的字符换成 ch2ch2 的字符的字符。(2 2)将顺序串将顺序串 r r 中所有字符按照相反的次序仍存放在中所有字符按照相反的次序仍存放在 r r 中中。(3 3)从顺序串从顺序串 r r 中删除其值等于中删除其值等于 chch 的所有字符的所有字符。(4 4)从顺序串从顺序串 r1r1中第中第 indexindex 个字符起求出首次与串个字符起求出首次与串r2r2相同的子串的起始位置相同的子串的起始位置。.专业 word 可编辑.(5 5)从顺序串从顺序串 r r 中删除所有与串中删除所有与串 r1r1 相同的子串相同的子串。9 9写一个函数将顺序串写一个函数将顺序串 s1s1 中的第中的第 i i 个字符到第个字符到第 j j 个字符之间的字符用个字符之间的字符用 s2s2 串替串替换换。提示提示:(:(1 1)用静态顺序串用静态顺序串(2 2)先移位先移位,后复制后复制1010写算法写算法,实现顺序串的基本操作实现顺序串的基本操作 StrCompare(s,t)StrCompare(s,t)。1111写算法写算法,实现顺序串的基本操作实现顺序串的基本操作 StrReplace(&s,t,v)StrReplace(&s,t,v)。提示提示:(1 1)被替换子串被替换子串定位定位(相当于第相当于第 9 9 题中题中 i i)(2 2)被替换子串被替换子串后面的字符后面的字符左移左移或或右移右移(为为替换子串替换子串准备房间准备房间)(3 3)替换子串替换子串入住入住(复制复制)(4 4)重复上述重复上述,直到直到.专业 word 可编辑.

    注意事项

    本文(数据结构课后习题与解析第四章.pdf)为本站会员(l****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开