📄 算法 5.4.txt
字号:
算法 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -