算法 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 + -
显示快捷键?