zoukankan      html  css  js  c++  java
  • 字符串的相关操作

    // demo3.cpp : 定义控制台应用程序的入口点。
    //
    
    #include "stdafx.h"
    #include <cassert>
    #include <iostream>
    using namespace std;
    
    int str_len(const char *str)
    {
        const char *temp=str;
        assert(str!=NULL);
        while(*str++!='');    //这种求字符串的算法很高效
        return(str-temp-1);
    }
    
    int str_str_find(const char *src,const char *sub)
    {
        const char *bp;
        const char *sp;
        const char *temp=src;
        if (src==NULL||sub==NULL)
        {
            return 0;
        }
        while(*src)
        {
            bp=src;
            sp=sub;
            do 
            {
                if (!*sp)
                {
                    return src-temp+1;
                }
            } while (*bp++==*sp++);
            src+=1;
        }
        return 0;        //找不到字符串
    }
    
    int _tmain(int argc, _TCHAR* argv[])
    {
        char a[]="helloworld";
        char b[]="lhho";
        int m=str_str_find(a,b);
        cout<<m<<endl;
        return 0;
    }

    1.2 回文判断

    #include "stdafx.h"
    #include <cassert>
    #include <iostream>
    using namespace std;
    
    bool isRevStr(const char *str)        //回文字符串判断
    {
        const char *start=str;    //头指针
        const char *end=NULL;    //尾指针
        assert(str!=NULL);
        while(*++str!='');
        int len=str-start;    //字符串长度
        end=str-1;                //指向尾指针
    
        //注意下面的代码和上面的不同之处
        /*while(*str++!='');
        int len=str-start-1;    //字符串长度  上面没有-1
        end=str-2;                //指向尾指针   -2不是-1
        */
    
        for (int i=0;i<len/2;i++)
        {
            if (*start++!=*end--)
            {
                return false;
            }    
        }
        return true;
    }
    
    int _tmain(int argc, _TCHAR* argv[])
    {
        const char a[]="wangnaw";
        if (isRevStr(a))
        {
            cout<<"yes"<<endl;
        }
        else
            cout<<"no"<<endl;
        return 0;
    }
  • 相关阅读:
    java垃圾回收算法和垃圾收集器
    (转)数据库ACID特性
    数据库范式
    (转)java Exception层次结构详解
    java Thread方法解析: sleep join wait notify notifyAll
    (转)java反编译i++和++i问题
    (转)git使用教程
    (转)java位运算
    (转)原码、反码、补码
    [翻译]如何编写GIMP插件(一)
  • 原文地址:https://www.cnblogs.com/audi-car/p/4418386.html
Copyright © 2011-2022 走看看