| #include <iostream> using namespace std; void printArray(char *pcParent, char *pcSon, int *orderArray, const int npLen, int npStartNum, const int nsLen, int nsCurrentNum) { if (nsCurrentNum == nsLen) { for (int i = 0; i < nsLen; i++) { cout << orderArray[i] << " "; } cout << endl; return; } else { for (int j = npStartNum; j < npLen; j++) { if (pcParent[j] == pcSon[nsCurrentNum]) { orderArray[nsCurrentNum] = j + 1; printArray(pcParent, pcSon, orderArray, npLen, j + 1, nsLen, nsCurrentNum + 1); } } } } void conncetSequence(char *pcParent, char *pcSon) { const int npLen = strlen(pcParent); const int nsLen = strlen(pcSon); if (nsLen == 0 || npLen == 0) { cout << "The string can not be empty!" << endl; return; } else { int *pnArray = new int[nsLen]; if (pnArray == NULL) { cout << "Allocate memory failed!" << endl; return; } else { printArray(pcParent, pcSon, pnArray, npLen, 0, nsLen, 0); } delete pnArray; pnArray = NULL; } } int main() { char *pcParent = "acbdbcadbccbabc"; char *pcSon = "abc"; conncetSequence(pcParent, pcSon); return 0; } |
输入两个字符串,输出第二个字符串在第一个字符串中的连接次序
最新推荐文章于 2024-11-18 11:47:46 发布
本文深入探讨了一种用于解析并构建复杂字符串匹配路径的算法,通过实例代码展示了如何使用C++实现这一过程,旨在解决实际应用中字符串匹配的问题。

7479

被折叠的 条评论
为什么被折叠?



