算法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
- 算法21:实现strstr(str1, str2)
- strstr(str1,str2)函数使用时注意事项
- strstr(char *str1, const char *str2)的应用
- memcpy(str2,str1,i);
- 复制str1到str2
- strcpy(str1,str2);
- locate(str1,str2)函数
- stract函数的实现 连接str2到str1的后面
- strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。
- str1==str2和str1.equals(str2)的问题
- if (Object.ReferenceEquals(str1,str2))
- 【算法题】KMP算法应用:往字符串str1后面添加字符变成str2
- 有两个字符串str1和str2,写一个函数实现在str1中查找str2的初始位置。要求不区分大小写。
- 编程题:有两个字符串str1和str2,写一个函数实现在str1中查找str2的初始位置,要求不区分大小写
- 写一函数,实现删除字符串str1中含有的字符串str2.
- C/C++ | 25-15 实现strcmp,int StrCmp(const char *str1, const char *str2)
- function return_value=EndWith(str1,str2)
- mysql 中的字符串连接 CONCAT(str1,str2,...)
- 最小的k个数
- Hadoop国内镜像下载地址:极速
- C4top-N个数求和 (分数求和模拟)
- 输入框只能输入正整数
- 妙用php中的register_shutdown_function和fastcgi_finish_request
- 算法21:实现strstr(str1, str2)
- iOS设置状态栏字体颜色
- 在程序开发中必须了解Activity的四种启动模式
- 解决Unity方向键控制角色行走时,鼠标箭头会一直回到场景的中心点问题
- AJAX 跨域请求
- 文件属性的读取
- 数据库存储过程和触发器概述
- Android布局优化之ViewStub、include、merge使用与源码分析
- ElasticSearch-Analysis-IK