现在的位置: 首页 > 综合 > 正文

79 实现数组排序 实现 strstr()函数功能

2018年05月02日 ⁄ 综合 ⁄ 共 717字 ⁄ 字号 评论关闭

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;
}

抱歉!评论已关闭.