欢迎来到天天文库
浏览记录
ID:58981812
大小:38.50 KB
页数:12页
时间:2020-10-27
《串的基本操作的编程实现.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据结构双语班DATASTRUCTUREBILINGUAL-TEACHINGCLASS实验报告003批改单ExperimentReportCommendatoryBill指导老师评语COMMENDATORYOFTHETEACHER签字:串基本操作的编程实现2006-2007(2)学期T523-1班学号:33姓名:王娟指导老师:马春江时间:2007.04.19【实验目的】内容:串基本操作的编程实现要求:串基本操作的编程实现(2学时,验证型),掌握串的建立、遍历、插入、删除等基本操作的编程实现,也可以进一步编程实现查找、合并、剪裁等操作,存储结构可以在顺序结构或链接结构、索引结构中任选,也可以全部
2、实现,用菜单进行管理。也鼓励学生利用基本操作进行一些应用的程序设计。【实验性质】验证性实验(学时数:2H)【实验内容】可以只完成基本的功能演示程序。也可以通过一个较为实用的系统下体现各种操作的作用,如可以开发一个文本统计程序,要求如下:编写程序,进行字符串统计系统的设计将存在txt文件中的文本进行统计:字母数、标点符号数、单词数、句子数、段落数。进一步的工作(统计:汉字数、每个单词的次数和所在行数等)【详细设计】#include#include#include#defineMaxlen50#includeusing
3、namespacestd;typedefstruct{charch[Maxlen];intlen;}strtype;voiddisp(strtype*s)//输出串{if(s->len==0)cout<<"空串"<len;i++){cout<ch[i];}cout<>b;if(b=='#')break;stri
4、ng[k]=b;k++;}char*str=string;strcpy(s->ch,str);s->len=strlen(str);}intlength(strtype*s)//求串的长度{returns->len;}voidcopy(strtype*s1,strtype*s2)//串的复制{inti;for(i=0;ilen;i++)s2->ch[i]=s1->ch[i];s2->len=s1->len;s2->ch[s2->len]=' ';//添加字符串结束符}voidsubs(strtype*s,intpos,intn)//求子串{inti;strtypess;strtyp
5、e*sub=&ss;if(pos+n-1>length(s))//参数不正确cout<<"子串过长!";else{for(i=pos-1;ich[i-pos+1]=s->ch[i];sub->len=n;sub->ch[sub->len]=' ';disp(sub);}}intconcat(strtype*s,strtype*t)//连接两个串{inti;if((s->len+t->len)>Maxlen){cout<<"连接失败!"<len;i++)s->ch[i+s->len]=t->ch[i];
6、s->len=s->len+t->len;s->ch[s->len]=' ';disp(s);cout<<"连接成功!"<len+t->len>Maxlen)return0;for(j=s->len-1;j>=i-1;j--)//i之后的所有元素后移t->len个位置s->ch[j+t->len]=s->ch[j];for(j=0;jlen;j++)s->ch[j+i-1]=t->ch[j];s->len=s->len+t->len;s->ch[s->
7、len]=' ';return1;}strtypereplace(strtype*s1,strtype*s2,inti,intj)//串的等长替换{strtypes;intn,k;if(i+j-1len){for(n=0;nch[n];for(n=0;nlen;n++)s.ch[i+n-1]=s2->ch[n];s.len=i+s2-
此文档下载收益归作者所有