zoukankan      html  css  js  c++  java
  • 字符串处理算法(四)现在一个给定字符串中寻找子串的功能(不能使用库函数)[2014百度笔试题]

    完成一个函数,实现在一个给定字符串中寻找子串的功能(不能使用库函数)。


    实现如下:

    //完成一个函数,实现在一个给定字符串中寻找子串的功能(不能使用库函数)。
    bool IsHaveSubStr(const char* strSrc, const char* strSub)
    {
    	char* p = (char*)strSrc;
    	char* q = (char*)strSub;
    	int nLenSrc;
    	int nLenSub;
    
    	if (p==NULL||q==NULL ||*p=='' || *q== '') return false;
    
    	while (p!=NULL)
    	{		
    		//strSub循环结束
    		if (*q=='')
    		{
    			return true;
    		}
    
    		//strSub比strSrc长
    		if (*p =='')
    		{
    			return false;
    		}
    
    		if (*p != *q) 
    		{
    			p++;
    			q = (char*)strSub;
    		}
    		else 
    		{
    			p++;
    			q++;
    		}
    	}
    
    	return false;
    }


    测试代码:

    int main()
    {
    	char strSrc[100];
    	char strSub[20];
    	bool bRet;
    	while(1)
    	{
    		memset(strSrc, 0, 100);
    		cout << "请输入最大长度为100的字符串,输入end结束。" << endl;
    		scanf("%s", strSrc);
    		
    		if (memcmp(strSrc, "end", 3) == 0)
    		{
    			break;
    		}
    		else
    		{
    			memset(strSub, 0, 20);
    			cout << "请输入最大长度为20的子字符串。" << endl;
    			scanf("%s", strSub);
    			bRet = IsHaveSubStr(strSrc, strSub);
    			
    			cout << bRet << endl;
    		}
    	}
    	return 0;
    }

    测试结果就不贴了,有兴趣的朋友可以试试。


    转载请注明原创链接:http://blog.csdn.net/wujunokay/article/details/12178825







  • 相关阅读:
    PHP图像处理之画图
    PHP中的日期和时间
    windows socket网络编程基础知识
    socket编程(Linux)
    变量作用域
    JavaScript中的this
    基于jQuery的2048小游戏设计(网页版)
    I/O流
    并发名词解释
    synchronized 实现原理
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3348097.html
Copyright © 2011-2022 走看看