函数void Insert(char*s,char*t,int pos)将字符串t插入到字符串s中,插入位置为pos。请用C语言实现该函数。假设分配给字符串s的空间足够让字符串t插入(说明:不得使用任何库函数)。

admin2014-12-25  62

问题 函数void Insert(char*s,char*t,int pos)将字符串t插入到字符串s中,插入位置为pos。请用C语言实现该函数。假设分配给字符串s的空间足够让字符串t插入(说明:不得使用任何库函数)。

选项

答案 voidInsert(char*s,char*t,int pos) { /*将串t插入到串S的第pos位置*/ if(pos<1) exit(0);/*pos非法*/ i=1;P=s; while(*pl=‘\0’&&i=pos;j一一); /*将串S中第pos起以后的字符后移*/ { *(P+J)=*p; P一一;} P++;q=t; /*将P移到第pos位置,q指向串t的第一个字符*/ for(k=1;k<=j;k++) /*将每串t插入到串S的pos位置*/ P++=q++: }

解析 首先在串s中查找第pos个位置,将pos开始的所有字符依次向后移动串t的长度的位置,然后将串t插人到串S中。算法描述如下。
转载请注明原文地址:https://kaotiyun.com/show/wZVx777K
0

相关试题推荐
最新回复(0)