大数据结构串地的应用.docx

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
南京信息工程大学数据结构实验(实习)报告 实验(实习)名称 串的应用 实验(实习)日期 2015-11-2 得分 指导教师 顾韵华 系 计软院 专业 计科 年级 2014级 班次 2 实验目的 1、掌握串的用法。 实验内容 1、设计一个算法,删去串s中从第i个字符开始的连续j个字符(以堆分配法表示串)。 2、若x和y是两个以堆分配法表示的串,请设计一个算法,找出x中第一个不在y中出现的字符。 3.一个文本串可用事先给定的字母映射表进行加密。例如,设字母映射表为: a b c d e f g h i j n g z q t c o b m u k l m n o p q r s t h e l k p d a w x f u v w x y z y i v r s j 则字符串encrypt被加密为tkzwsdf。 (1) 写一算法将输入的文本串进行加密后输出; (2) 写一算法,将输入的已加密文本串进行解密后输出。 4、实现朴素的模式匹配算法。 三、 //设计一个算法,删去串s中从第i个字符开始的连续j个字符(以堆分配法表示串)。 #include stdio.h #include string.h #include malloc.h #define OK 1 #define ERROR 0 typedef int Status; typedef struct{ //堆分配法表示串的类型定义 char *ch; //存储区基址 int length; //串长 } HString; Status strAssign(HString S,char *chars) //生成一个其值等于串常量chars的串S { int i,j; char *c; if (S.ch) free(S.ch); for (i=0,c=chars;*c!=\0;i++,c++); //求串chars的长度,存于i if (!i) //chars为空串 { S.ch=NULL; S.length=0; } else { if (!(S.ch=(char *) malloc(i*sizeof(char)))) return ERROR; for(j=0;ji;j++) S.ch[j]=chars[j]; S.length=i; } return OK; } Status strDelete(HString S,int i,int j) //删除串S中从i开始的j个字符,串采用堆分配法存储 { int k,m; if (iS.length || i1) return ERROR; for (k=i+j-1,m=i-1;kS.length;k++,m++) S.ch[m]=S.ch[k]; S.ch[m+1]=\0; S.length=S.length-j; return OK; } void printString(HString S) { int i; for (i=0;iS.length;i++) printf(%c,S.ch[i]); printf(\n); } /* run this program using the console pauser or add your own getch, system(pause) or input loop */ int main() { HString S; char str[]=This is a test string!; printf(创建字符串S!\n); if (strAssign(S,str)==ERROR) { printf(创建的字符串S失败!\n); return 1; } printf(创建的字符串S为:); printString(S); printf(删除字符串S从3开始的4个字符:\n); strDelete(S,3,4); printf(删除字符后的字符串S为:\n); printString(S); return 0; } 2、//若x和y是两个以堆分配法表示的串,请设计一个算法,找出x中第一个不在y中出现的字符 #include stdio.h #include st

文档评论(0)

dmz158 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档