当前位置:首页 > 计算机软件基础(一)(02243) > 正文内容

假设以链表结构表示串,试编写将串s插入到串t中某个字符之后的算法(若串t中不存在此字符,则将串s连接在串t的末尾)。

高老师2年前 (2024-03-28)计算机软件基础(一)(02243)25

假设以链表结构表示串,试编写将串s插入到串t中某个字符之后的算法(若串t中不存在此字符,则将串s连接在串t的末尾)。

voidLString_Concat(LStringt,LStrings,charc)//用链存储结构,把串s插入到串t的字符c之后{p=t.head;while(p!(i=Find_Char(p,c)))p=p->next;//查找字符cif(!p)//没找到{t.tail->next=s.head;_t.tail=s.tail;//把s连接在t的后面}else{q=p->next;_r=(Chunk*)malloc(sizeof(Chunk));//将包含字符c的节点p分裂为两个_for(j=0;jch[j]='#';//原节点p包含c及其以前的部分_for(j=i;jch[j]=p->ch[j];_p->ch[j]='#';//p的后半部分和r的前半部分的字符改为无效字符#_}_p->next=s.head;_s.tail->next=r;_r->next=q;//把串s插入到节点p和r之间}//elset.curlen+=s.curlen;//修改串长s.curlen=0;}//LString_ConcatintFind_Char(Chunk*p,charc)//在某个块中查找字符c,如找到则返回位置是第几个字符,如没找到则返回0{for(i=0;ich[i]!=c;i++)if(i==CHUNKSIZE)return0;elsereturni+1;}//Find_Char

扫描二维码免费使用微信小程序搜题/刷题/查看解析。

版权声明:本文由翰林刷题小程序授权发布,如需转载请注明出处。

本文链接:https://doc.20230611.cn/post/1154945.html

分享给朋友: