📄 算法 5.5.txt
字号:
算法 5.5
void StrInsert(char *S, int pos, char *T) {
// 1≤pos≤StrLength(S)+1。在串S的第pos个字符之前插入串T
char *S1, *Sub; // S1和Sub作为辅助串空间来使用
slen=Strlen (S); tlen=Strlen (T); // 取得原串S和插入串T的串长
if (pos < 1 || pos >slen+1) ERROR(" 插入位置不合法")
if (tlen>0) { // T非空,则为S重新分配空间并插入T
S1 = strdup(S); // 系统通过strdup函数自动为S1分配空间,暂存串S
S = new char[strlen + strlen +1]; // 为S串重新分配空间
Sub = S1+ pos-1; // Sub 是插入位置之后的子串
Strncpy (S, S1, pos-1); // 复制插入位置之前的子串
S[pos-1]='\0'; // 暂时为S置结束标志,以便使用操纵S串的有关串函数
Strcat (S, T); // 插入 T串
Strcat (S, Sub); // 复制插入位置之后的子串
} // if
} // StrInsert
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -