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