|
数组_合并_快速 | 文本型 | |
|
欲处理的数组 | 文本型 | | | |
间隔符 | 文本型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 |
pArr | 整数型 | | |
len | 整数型 | | |
i | 整数型 | | |
bufSize | 整数型 | | |
pBuf | 整数型 | | |
pSub | 整数型 | | |
nSub | 整数型 | | |
offset | 整数型 | | |
strLen | 整数型 | | |
pStr | 整数型 | | |
nStr | 整数型 | | |
pTmp | 整数型 | | |
tmpSize | 整数型 | | |
ret | 文本型 | | |
len =
取数组成员数 (欲处理的数组
)如果真 (len = 0
)返回 (“”)pArr = 取数据_通用型_数组 (欲处理的数组)
bufSize = len × 260 pBuf =
malloc (bufSize + 1
) 如果真 (取反 (是否为空 (间隔符
))
) pSub =
取指针_文本型 (间隔符
)如果真 (pSub ≠ 0
) nSub =
strlen (pSub
)计次循环首 (len, i
)pStr =
__get (pArr, (i - 1
) × 4
) 如果真 (pStr ≠ 0
) nStr =
strlen (pStr
) 如果真 (offset + nStr > bufSize
) tmpSize = bufSize
bufSize = bufSize × 2 + nStr
pTmp =
malloc (bufSize
)memcpy (pTmp, pBuf, tmpSize
) free (pBuf
)pBuf = pTmp
memcpy (pBuf + offset, pStr, nStr
)offset = offset + nStr
如果真 (pSub ≠ 0
且 i < len
)memcpy (pBuf + offset, pSub, nSub
)offset = offset + nSub
计次循环尾 ()__set_byte (pBuf, offset, 0
) ret =
指针到文本 (pBuf
)free (pBuf
)返回 (ret
)