当前位置: 首页 > news >正文

网站视觉设计新网站建设怎么样

网站视觉设计,新网站建设怎么样,今天广州新闻最新消息,郑州市建设网站6-2 堆串的基本操作StrReplace(S, T, V) 编写算法,实现堆串的基本操作StrReplace(S, T, V)。 初始条件: 串S, T和 V 均已存在,且 V 是非空串。 操作结果: 用V替换主串S中出现的所有与(模式串)T相等的不重叠的子串。输入格式: 第一行:S 第二行&#…

6-2 堆串的基本操作StrReplace(S, T, V)

编写算法,实现堆串的基本操作StrReplace(S, T, V)。

初始条件: 串S, T和 V 均已存在,且 V 是非空串。

操作结果: 用V替换主串S中出现的所有与(模式串)T相等的不重叠的子串。
输入格式:

第一行:S

第二行:T

第三行:V

输出格式:

S = 被替换后的结果

函数接口定义:

void StrReplace(HString *S, HString T, HString V);

堆串类型定义如下:

typedef struct
{char *ch;int  len;
}HString;

裁判测试程序样例:

#include<stdio.h>
#include <stdlib.h>
#include <string.h>typedef struct{char *ch;int  len;
}HString;void StrReplace(HString *S, HString T, HString V);/*串初始化函数*/
void StrInit(HString *s)
{s->ch=NULL;s->len=0;
}/*串赋值函数:将字符串常量tval的值赋给串s */
int StrAssign(HString *s, char *tval)
{    int len,i=0;if (s->ch!=NULL) free(s->ch);while (tval[i]!='\0')  i++;len=i;if (len){s->ch=(char *)malloc(len);if (s->ch==NULL)  return(0); for (i=0;i<len;i++)s->ch[i]=tval[i];}else  s->ch=NULL;s->len=len;return(1);
}/*串插入函数:在串s中下标为pos的字符之前插入串t */
int StrInsert(HString *s, int  pos, HString t){int i;  char *temp;if (pos<0 || pos>s->len || s->len==0)return(0);temp=(char *)malloc(s->len + t.len);if (temp==NULL)  return(0);for (i=0;i<pos;i++)temp[i]=s->ch[i];for (i=0;i<t.len;i++)temp[i+pos]=t.ch[i];for (i=pos;i<s->len;i++)temp[i + t.len]=s->ch[i];s->len+=t.len;free(s->ch);s->ch=temp;return(1);
} /*串删除函数:在串s中删除从下标pos起len个字符 */
int StrDelete(HString *s, int pos, int len) {int i; char *temp;if (pos<0 || pos>(s->len - len))return(0);temp=(char *)malloc(s->len - len);if (temp==NULL)  return(0);for (i=0;i<pos;i++)temp[i]=s->ch[i];for (i=pos;i<s->len - len;i++)temp[i]=s->ch[i+len];s->len=s->len-len;free(s->ch);s->ch=temp;return(1);
}/*串的简单模式匹配:求串t在串s中的位置*/
int StrIndex(HString *s, int pos, HString t){int i,j,start;if (t.len==0)  return(0);start=pos; i=start; j=0;while (i<s->len && j<t.len){if (s->ch[i]==t.ch[j])  {i++;j++;}else  {start++; i=start; j=0;}}if (j>=t.len) return(start);else return(-1);
} void main()
{HString s, t, v;char str1[100],str2[100],str3[100];int i;gets(str1);  StrInit(&s);  StrAssign(&s, str1);gets(str2);  StrInit(&t);  StrAssign(&t, str2);gets(str3);  StrInit(&v);  StrAssign(&v, str3);StrReplace(&s, t, v);printf("S = '");for(i=0;i<s.len;i++)printf("%c", s.ch[i]);printf("'\n");
}/* 请在这里填写答案 */

输入样例:

在这里给出一组输入。例如:

abcaabcaaabca
bca
x

输出样例:

在这里给出相应的输出。例如:

S = 'axaxaax'
void StrReplace(HString *S,HString T,HString V){int index=0;while((index=StrIndex(S,index,T))!=-1){StrDelete(S,index,T.len);StrInsert(S,index,V);index+=V.len;}
}
http://www.yayakq.cn/news/456542/

相关文章:

  • 企业网站搜索引擎推广方法包括批量导入 wordpress
  • 东莞建设企业网站公司html简单的网页设计
  • 做电影网站考什么移除wordpress版本
  • 免费asp网站模板带后台app开发一般需要多少钱
  • 课程网站开发背景和意义怎么做网站 ppt
  • 网站建设开发程序那个网站的域名便宜
  • 找团队做网站网站 模板下载
  • 网站开发模块化开发杭州做网站企业
  • 广州正规网站建设企业建设一个公司网站需要什么知识
  • 国际网站建站企业智能网站后台管理系统
  • 通过阿里云建设企业网站抖音代运营mcn
  • 网站开发为什么要写接口网站备案证图片
  • 项目合作网站网站说服力 营销型网站策划
  • 厦门网站制作前端网站设计
  • 最新网站开发需求文档wordpress添加热门文章
  • 太原网站建设口碑推荐昆明seocn整站优化
  • espcms易思企业网站管理系统安徽建设工程信息网怎么打不开了
  • 网站开发如何入门中国网络购物市场研究报告
  • 网站的按钮怎么做 视频建设网站需要些什么手续
  • 山东高端网站建设方案海淀地区网站建设
  • 广东网站营销seo费用任丘网站建设
  • 四川大良网站建设ui设计的就业前景
  • 做网站的公司 杭州网站建设完成确认函
  • 湖南麟辉建设集团有限公司网站怎么用小皮创建网站
  • 网页模板建站系统建筑公司企业简介
  • 用猴子做标志起网站名叫什么好如何开发软件app
  • 常州网站搭建公司wordpress 实时表单
  • 搭建网站一般要多少钱帝国怎么做网站
  • 如何攻击网站ui培训机构排名
  • 松岗建网站百度快照怎么打开