zoukankan      html  css  js  c++  java
  • 字符串匹配[原始方法]

    题目:源串="abcabcabcababcabcabcababcabcab",目标串="abc",求目标串在源串中出现多少次?
    这题相对比较简易,用的是原始方法,调用strstr()函数,如果找到目标串,函数返回出现目标串位置的首地址,下一步再将这个指针+1转移到strstr()函数中进行下一轮的匹配。虽然简易,但也是一种匹配方法,所以记录下来。

    char *strstr(char *源串,char *目标串);
    /*---------完整代码@映雪----------*/
    
    #include <iostream>
    using namespace std;
    int main()
    {    
        char * trace="abc";/*目标串*/        
        char *str="abcabcabcababcabcabcababcabcab";/*源串*/     
        
        char *p;/*中转指针*/    
        int n=0;/*串出现的次数*/    
        do
        {
                if((p=strstr(str,trace))!=NULL)/*查找到串*/
                {
                        ++n;/*计数加1*/
                    str=++p;/*前移一位*/
                }
        }while(p);    
        cout<<"字符串"<<trace<<"出现"<<n<<""<<endl;
        return 0;
    }
  • 相关阅读:
    FJUT3260
    Codeforces Round #387 (Div. 2)
    poj 1375
    试题 历届试题 蚂蚁感冒(模拟)
    丢手绢(尺取)
    「金」点石成金(dfs)
    小A买彩票(dp)
    不平行的直线
    最少交换次数
    第k小数(桶排序)
  • 原文地址:https://www.cnblogs.com/tinaluo/p/5297131.html
Copyright © 2011-2022 走看看