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;
    }
  • 相关阅读:
    JS 实现数据分割1,123,456
    JS屏蔽键盘相关事件
    地图坐标转屏幕坐标
    对xml格式的字符串的一些操作
    ListView_Adpter
    单元测试(Android)_JUnit
    调用系统拍照
    获取手机SD卡的剩余容量(MB)
    数据库的基本操作
    临时修改模拟器手机运行内存和手机内存(不是SD卡内存)
  • 原文地址:https://www.cnblogs.com/audi-car/p/4418386.html
Copyright © 2011-2022 走看看