算法 5.4.txt

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

TXT
17
字号
算法 5.4  
void StrInsert_ HSq (char* S,  int pos,  char* T) {
       // 1≤pos≤StrLength(S)+1。在串S的第pos个字符之前插入串T
       slen=StrLength_HSq (S);  tlen=StrLength_HSq (T);  // 取得原串S和插入串T的串长
       char S1[slen +1] ;                                // S1作为辅助串空间用于暂存S
       if (pos < 1 || pos > slen+1)  ERROR(" 插入位置不合法");
       if (tlen>0) {                                     // T非空,则为S重新分配空间并插入T
          i=0;                 
          while ((S1[i]=S[i]) != '\0') i++;              // 暂存串S
          S = new char[strlen + strlen +1];              // 为S重新分配空间
          for ( i=0, k=0; i<pos-1; i++)  S[k++] = S1[i]; // 保留插入位置之前的子串
          j = 0;
          while ( T[j]!= '\0' )  S[k++] = T[j++];        // 插入T
          while ( S1[i]!= '\0')  S[k++] = S1[i++];       // 复制插入位置之后的子串
          S[k] = '\0';                                   // 置串S的结束标志
        } // if                          
} // StrInsert 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?