算法21:实现strstr(str1, str2)

来源:互联网 发布:苹果mac终端怎么进入 编辑:程序博客网 时间:2024/05/18 09:02

算法分析

strstr函数用于判断str2是否是str1的字串。如果是,返回str2在str1首次出现的首地址;如果不是,则返回NULL。

c++代码如下

//str1:字符串//str2:字串//return: 返回str2在str1出现的首地址const char* strstr(const char* str1,const char* str2){    assert(str1 && str2);    const char* p = str1;    const char* q = str2;    int count = 0;    while(*p != '\0' && *q != '\0')    {        if(*p == *q)        {            p++;            q++;        }        else        {            p++;            q = str2;            count++;        }    }    if(*q == '\0')    {        p = str1+count;        return p;    }    else    {        return NULL;    }}

测试代码如下

int _tmain(int argc, _TCHAR* argv[]){    char str1[20] = "asdbgfgfiydb23";    char str2[5] = "db";    char* result = strstr(str1,str2);    if(result != NULL)    {        cout<<"result ="<<result<<endl;    }    return 0;}
0 0
原创粉丝点击