问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

数据结构串的基本操作的实现

发布网友 发布时间:2022-04-29 22:54

我来回答

1个回答

热心网友 时间:2022-06-25 03:23

希望下面这个程序符合你的要求,呵呵#include<iostream>#include<malloc.h>#define OK 1#define ERROR 0using namespace std;typedef struct{ char *ch; int length; //串的长度}HString;//========= int StrAssign(HString &T){//生成一个串常量 int j; cout<<"请输入串T的长度:"<<endl; cout<<"T.length="; cin>>T.length; cout<<"请输入串:"<<endl; if(!T.length){T.ch=NULL;T.length=0;} else{ if(!(T.ch=(char*)malloc(T.length*sizeof(char)))) return ERROR; for(j=0;j<T.length;j++) cin>>T.ch[j]; } return OK;} //串的链接======= int Concat(HString &T){ int i,j; HString S1; HString S2; if(T.ch) free(T.ch); StrAssign(S1); StrAssign(S2); if(!(T.ch=(char*)malloc((S1.length+S2.length)*sizeof(char)))) return ERROR; for(i=0;i<S1.length;i++) T.ch[i]=S1.ch[i]; T.length=S1.length+S2.length; for(i=S1.length,j=0;i<T.length,j<S2.length;i++,j++) T.ch[i]=S2.ch[j]; return OK;} //串的插入======== int StrInsert(HString &T) //在串的T第pos个字符之前插入串S{ int i,j,k,pos; HString S; cout<<"请输入串S的长度:"; cin>>S.length; cout<<"请输入串S:"<<endl; if(!(S.ch=(char*)malloc(S.length*sizeof(char)))) return ERROR; for(i=0;i<S.length;i++) cin>>S.ch[i]; cout<<"请输入插入的位置:"; cin>>pos; if(pos<1||pos>T.length+1) return ERROR; if(S.length) { if(!(T.ch=(char*)realloc(T.ch,(T.length+S.length)*sizeof(char)))) return ERROR; for(i=T.length-1;i>=pos-1;i--) T.ch[i+S.length]=T.ch[i]; for(j=pos-1,k=0;j<=pos+S.length-2,k<S.length;j++,k++) T.ch[j]=S.ch[k]; T.length+=S.length; } return OK;} //串的输出========== void print(HString &T){ int i; for(i=0;i<T.length;i++) cout<<" "<<T.ch[i];} //主函数=========== void main(){ cout<<"=============串的堆分配存储表示=============="<<endl; HString T; StrAssign(T); cout<<"您输入有效串为:"<<endl; print(T); cout<<endl; cout<<"==========串连接操作=========="<<endl<<endl; Concat(T); cout<<"连接后的串为:"<<endl; print(T); cout<<endl; cout<<"==========串插入操作=========="<<endl<<endl; StrInsert(T); cout<<"插入后的串为:"<<endl; print(T); cout<<endl; }
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
小弟刚升到80级是法师 应该怎么弄装备啊 从哪里开始弄起 还有就是网上... 门上指纹锁要多少钱 手机百度如何搜索图片来源? 如何找出图片出处 win7电脑横屏如何处理笔记本电脑桌面变成横向了怎么办 win7电脑桌面反了怎么办电脑屏幕倒过来了怎么办 win7电脑变成竖屏快捷键我电脑变成竖屏了怎么调回来 win7系统电脑怎么横屏w7系统屏幕怎么横过来 win7系统更改电脑屏幕方向电脑屏幕旋转了怎么调整过来 调成竖屏模式电脑win7我电脑变成竖屏了怎么调回来 求广汽三菱新劲炫原车CD机头DIY家用CD机教程!!! 数据结构串匹配十大经典算法 三菱劲炫装了导航usb不能充电 三菱劲炫车上怎么放音乐 求解数据结构c语言中串的问题 三菱劲炫U盘下载的歌分了几个文件夹怎么调换 数据结构题,假如s=&#39;abcba&#39;。index(s,&#39;b&#39;,1)=?能具体解释解释吗 编写函数Index(String S,String T,int pos),返回子串T在主串S中第一次出现的位置pos 三菱劲炫1.6标准版可以用u盘放歌吗? 劲炫自带的CD,能播放U盘里的wav格式吗 一道数据结构题 三菱劲炫手套箱里的外接USB接口可以直接接入U盘播放MP3吗? 数据结构串中index函数没给pos怎么处理 三菱-劲炫ASX - 车usb接口插上U盘识别不出来 分享如何把U盘音乐复制到劲炫ASX中控屏中 三菱劲炫1.6先锋版u盘里的mp4在电脑里就能播放,到车里就不行,怎么办 2014年的劲炫用什么样的车载U盘? 三菱劲炫标配插u盘的地方在哪里 2020款三菱劲炫怎么放优盘听歌 宝宝中文名辰昊 起什么英文名字好 三菱劲炫里MP3改名wav有用吗 C语言数据结构串的模式匹配算法问题 三菱劲炫有没有保留原车CD机车载导航一体机 进口的三菱劲炫的车载一体导航dvd,播放视频用的什么格式,为什么有的avi可以播放,有的不能播放 数据结构 串中 i为什么小于等于n-m+1 《数据结构》在线作业 java kmp算法中的 kmp 是什么意思? Linux C函数实例速查手册的目录 数据结构实验,实现串的插入和删除功能 用C语言编个程序,用数据结构体和函数! 拿沐浴露洗衣服可以吗 沐浴露能洗衣服吗 m 香泽秀和祖马龙关系 我问一下之前在网上看到了一个低配骁龙845还有高通骁龙845那小米8是什么处理器? 急求让我们荡起双桨 钢琴伴奏曲 谁知道“小船儿轻轻,飘荡在水中”这句歌词 是哪首歌里的?如题 谢谢了 求大神赐教,为啥nike的dunk和aj的29low都那么硬,而且买的人还不少,尤其是29low, 祖国的花朵二胡音乐和歌词 dunk洗完变硬 祖国的花朵 歌词