79 实现数组排序 实现 strstr()函数功能
原创
©著作权归作者所有:来自51CTO博客作者我想有个名字的原创作品,请联系作者获取转载授权,否则将追究法律责任
2.编写实现数组排序的一种算法。说明为什么你会选择用这样的方法?
3.请编写能直接实现 strstr()函数功能的代码。
/*
2.编写实现数组排序的一种算法。说明为什么你会选择用这样的方法?
主要是根据数据的具体情况,如果给的是任意数据,
快速排序的时间复杂度为O(N*logN),效率较高
*/
/*
3.请编写能直接实现 strstr()函数功能的代码。
char *strstr(char *haystack, char *needle);
功能:从字符串haystack中寻找needle第一次出现的位置(不比较结束符NULL)。
说明:返回指向第一次出现needle位置的指针,如果没找到则返回NULL。
2次循环搞定
*/
#include<iostream>
#include<stdio.h>
using namespace std;
char* myStrstr(char *haystack, char *needle)
{
char *res=NULL;
int len1=strlen(haystack);
int len2=strlen(needle);
int i,j,n;
if(len2>len1)
return res;
n=len1-len2;
for(i=0;i<=n;i++)
{
for(j=0;j<len2;j++)
{
if(haystack[i+j]!=needle[j])
break;
}
if(j==len2)
{
res=haystack+i;
break;
}
}
return res;
}
int main()
{
char str1[]="ababscdsa";
char str2[]="bsc";
cout<<myStrstr(str1,str2)<<endl;
//bscdsa
return 0;
}