算法 5.5.txt

来自「《数据结构及应用算法教程》一书的源代码。作者:严蔚敏」· 文本 代码 · 共 16 行

TXT
16
字号
算法 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 + =
减小字号Ctrl + -
显示快捷键?