输入两个字符串,输出第二个字符串在第一个字符串中的连接次序

来源:互联网 发布:c语言for循环嵌套例子 编辑:程序博客网 时间:2024/05/16 00:33
#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