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

教育培训机构有关的网站澄迈住宅与建设局网站

教育培训机构有关的网站,澄迈住宅与建设局网站,青岛餐饮加盟网站建设,wordpress yarpp一、实验目的 1、掌握串的顺序存储结构 2、掌握顺序串的基本操作方法#xff08;插入、删除等#xff09;。 3、掌握串的链式存储结构。 4、掌握链式串的几种基本操作#xff08;插入、删除等#xff09;。 5、掌握Brute-Force算法 二、实验内容 1、编写函数BFIndex(Str…一、实验目的 1、掌握串的顺序存储结构 2、掌握顺序串的基本操作方法插入、删除等。 3、掌握串的链式存储结构。 4、掌握链式串的几种基本操作插入、删除等。 5、掌握Brute-Force算法 二、实验内容 1、编写函数BFIndex(String S, int start, String T)实现Brute-Force算法其中S为主串start为子串在主串中的查找位置T为子串。程序可参考书本例子。鼓励使用KMP算法。 2、设串采用静态数组存储结构编写函数实现串的替换Replace(S,start,T,V),即要求在主串S中从位置start开始查找是否存在子串T。若主串S中存在子串T则用子串V替换子串T且函数返回1若主串S中不存在子串T则函数返回0。并要求设计主函数进行测试。 三、参考代码 SString.h #include stdio.h #define MaxSize 100 typedef struct {char str[MaxSize];int length; } String; int Insert(String *S, int pos, String T) /*在串S的pos位置插入子串T*/ {int i;if(pos 0){printf(参数pos出错);return 0;}else if(S-length T.length MaxSize){printf(数组空间不足无法插入);return 0;}else{for(i S-length-1; i pos; i--)S-str[iT.length] S-str[i]; /*为插入做准备*/for(i 0; i T.length; i)S-str[posi] T.str[i]; /*插入*/S-length T.length; /*产生新的元素个数*/return 1;} }int Delete(String *S, int pos, int len) {int i;if(S-length 0){printf(数组中未存放字符无元素可删! \n);return 0;}else if(pos 0 || len 0 || poslen S-length){printf(参数pos和len出错);return 0;}else{for(i poslen; i S-length-1; i)S-str[i-len] S-str[i]; /*依次前移*/S-length - len; /*产生新的长度值*/return 1;} }主程序 #include bits/stdc.h #include SString.h #define Maxlength 100using namespace std;// s 为主串start为开始的下标t为要查找的子串 // 成功匹配则返回第一个出现在主串的子串 的 首字符下标匹配失败返回 -1 int kmp(String s,int start,String t) { // TODO 自己完成int res -1; // 预处理next数组int next[t.length];next[0] 0;for(int i 1,j 0; i t.length; i){while(j 0 t.str[i] ! t.str[j])//不匹配的情况往回跳j next[j-1];if(t.str[i] t.str[j])//匹配的情况jj;next[i] j;//打表}// kmp匹配过程for(int i 0, j 0; i s.length; i){while(j 0 s.str[i] ! t.str[j])j next[j-1];if(s.str[i] t.str[j] )j;if(j t.length)//匹配成功{res i - j 1;break;} }return res; }// S 为主串start为开始的下标T为要查找的子串 // 成功匹配则返回第一个出现在主串的子串 的 首字符下标匹配失败返回 -1 int BFIndex(String S, int start, String T) { // TODO 自己完成int res -1;//-1 表示没找到for(int i 0;i S.length; i){bool flag true;int k i;for(int j 0; j T.length; j){if(S.str[k] ! T.str[j]){flag false;break;}}if(flag){res i;break;}}return res; }//原串s 开始下标start目标串t替换串v int Replace(String *S, int start, String T, String V) { // TODO 自己完成int idx kmp(*S,0,T);if(idx -1)//没找到return 0; // 找到了替换Delete(S,idx,T.length);Insert(S,idx,V);return 1; }//原串s 开始下标start目标串t替换串v int myReplace(String *s, int start, String t, String v) { // TODO 自己完成int idx kmp(*s,0,t);if(idx -1)//没找到return 0; // 找到了替换int len s-length;int tlen t.length;//原本的长度 - 替换串的长度int d t.length-v.length;//d0 后面的串左移 d 位if(d 0)//后串左移for(int i idx tlen; i len; i)s-str[i-d] s-str[i];else if(d 0)//后串右移for(int i len-1; i len - idx tlen -1; i--)s-str[i-d] s-str[i];s-length - d;// 将替换串放入主串中for(int i idx, j 0; i idxv.length; i)s-str[i] v.str[j];return 1; }int main(void) {String myString1, myString2, myString3;int i, start 0;printf(请输入主串myString1: );scanf(%s, myString1.str );printf(请输入子串myString2: );scanf(%s, myString2.str);printf(请输入子串myString3: );scanf(%s, myString3.str);myString1.length strlen(myString1.str);myString2.length strlen(myString2.str);myString3.length strlen(myString3.str); // int res BFIndex(myString1,0,myString2); // int res1 kmp(myString1,0,myString2); // cout res res1;if (Replace(myString1, start, myString2, myString3) 0)printf(不成功 );elsefor (i 0; i myString1.length ; i)printf(%c, myString1.str[i]); }
http://www.hkea.cn/news/14311074/

相关文章:

  • 做投票网站的wordpress标题不能空
  • 水利建筑工程网站八年级信技做网站
  • 做网站的顶部图片wordpress 分类采集
  • 自己做网站做淘宝联盟电脑城网站开发需求分析
  • 杭州包装网站建设方案wordpress 浏览次数
  • 装饰公司网站源码下载做个医院网站多少钱
  • 大型电商网站开发方案网页设计教育培训
  • ie的常用网站外贸网站如何换域名
  • 中国电商排名前十名seo外包公司哪家专业
  • wordpress网站维护中只有一个页面的网站
  • 怎么把统计代码加到网站弄一个app要多少钱
  • 网站模板建设二月网站建设南宁
  • 修改网站主目录的位置股票网站模板 dedecms
  • 手机网站微信分享代码随州seo优化
  • 如何用电脑记事本做网站如何查找网站死链
  • 网站 栏目添加 文章不显示网站内容通过服务器会不会被更改
  • 免费做网站报价科技网站制作
  • esc怎么做网站上海专业网站建设价
  • 农业电商网站建设pptcom域名需要备案吗
  • 珠海网站建设公建筑模板质量标准
  • 企业展示型电商网站模板建设网站的意义 作用是什么
  • 创一家网站写出网站建设的基本流程
  • 无锡论坛网本地网站大型企业网络建设方案
  • 广州黄埔做网站的公司开创集团网站建设
  • 网站首页添加浮动飘窗统一门户网站建设规范
  • 厦门营销网站制作linux 安装wordpress
  • 宣讲网站建设松江佘山网站建设
  • html5 php 网站源码一般制作一个app需要多少钱
  • 河北建网站电子商务网站建设与管理—李建忠
  • 怎么申请一个商城网站.桐城住房和城乡建设局网站