欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于字符串移位包含的問題詳解

 更新時(shí)間:2013年05月28日 17:39:46   作者:  
本篇文章是對字符串移位包含的問題的解決方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
代碼如下所示:
復(fù)制代碼 代碼如下:

/************************************************************************/
/* 給定兩個(gè)字符串s1和s2,要求判定s2是否能被s1做循環(huán)移位得到的字符串所包含
例如,給定s1 = AABCD, s2 = CDAA,返回true,給定s1 = ABCD, s2 = ACBD,返回false*/
/************************************************************************/
#include "stdafx.h"
#include <iostream>
using namespace std;
//窮舉法
int IfRotateContain1(char *str1, const char *str2);
//空間換取時(shí)間法
int IfRotateContain2(char *str1, const char *str2);
int _tmain(int argc, _TCHAR* argv[])
{
    char str1[] = "AABBCD";
    char str2[] = "CDAA";
    int ret1 = IfRotateContain1(str1, str2);
    int ret2 = IfRotateContain2(str1, str2);
    cout << ret1 << endl;
    cout << ret2 << endl;
    return 0;
}
int IfRotateContain1( char *str1, const char *str2 )
{
    int len = strlen(str1);
    for (int i = 0; i < len; i++)
    {
        char temchar = str1[0];
        for (int j = 0;j < len-1; j++)
        {
            str1[j] = str1[j+1];
        }
        str1[len-1] = temchar;
        if (strstr(str1, str2) )
        {
            return 1;
        }
    }
    return 0;
}
int IfRotateContain2( char *str1, const char *str2 )
{
    int len = strlen(str1);
    char *p = new char[len*2+1];
    for (int i = 0; i < len; i++)
    {
        p[i] = str1[i];
        p[i+len] = str1[i];
    }
    for (int j = 0; j < len*2; j++)
    {
        if (strstr(str1, str2))
        {
            return 1;
        }
    }
    delete [] p;
    return 0;
}

相關(guān)文章

  • C語言實(shí)現(xiàn)推箱子游戲的代碼示例

    C語言實(shí)現(xiàn)推箱子游戲的代碼示例

    這篇文章主要介紹了C語言實(shí)現(xiàn)推箱子游戲的代碼示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • C++11中value category(值類別)及move semantics(移動(dòng)語義)的介紹

    C++11中value category(值類別)及move semantics(移動(dòng)語義)的介紹

    這篇文章主要給大家介紹了C++11中value category(值類別)及move semantics(移動(dòng)語義)的介紹,文中介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-05-05
  • C語言實(shí)現(xiàn)經(jīng)典windows游戲掃雷的示例代碼

    C語言實(shí)現(xiàn)經(jīng)典windows游戲掃雷的示例代碼

    今天我們會(huì)用C語言實(shí)現(xiàn)一個(gè)經(jīng)典的windows小游戲:掃雷。掃雷是一款單機(jī)小游戲,每次通關(guān)最高難度的關(guān)卡都會(huì)開心好一陣?,F(xiàn)在學(xué)會(huì)了C語言,總算可以自己實(shí)現(xiàn)掃雷了。話不多說,咱們開始吧
    2022-10-10
  • VC實(shí)現(xiàn)屏幕截詞功能的方法詳解

    VC實(shí)現(xiàn)屏幕截詞功能的方法詳解

    這篇文章主要介紹了VC實(shí)現(xiàn)屏幕截詞功能的方法詳解,對于深入的理解windows程序運(yùn)行原理很有幫助,需要的朋友可以參考下
    2014-07-07
  • C++中“#”號(hào)的使用技巧

    C++中“#”號(hào)的使用技巧

    本篇文章是對C++中“#”號(hào)的使用技巧進(jìn)行了分析介紹,需要的朋友參考下
    2013-05-05
  • C++ 中strcpy標(biāo)準(zhǔn)寫法實(shí)例詳解

    C++ 中strcpy標(biāo)準(zhǔn)寫法實(shí)例詳解

    這篇文章主要介紹了C++ 中strcpy標(biāo)準(zhǔn)寫法實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • 基于Qt實(shí)現(xiàn)SVG圖片瀏覽器

    基于Qt實(shí)現(xiàn)SVG圖片瀏覽器

    SVG的英文全稱是Scalable Vector Graphics,即可縮放的矢量圖形。本文將用Qt6制作一個(gè)簡單的SVG圖片瀏覽器,感興趣的可以嘗試一下
    2022-06-06
  • C語言實(shí)現(xiàn)簡單計(jì)算器功能(2)

    C語言實(shí)現(xiàn)簡單計(jì)算器功能(2)

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)簡單計(jì)算器功能的第二部分,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • C++詳解哈夫曼樹的概念與實(shí)現(xiàn)步驟

    C++詳解哈夫曼樹的概念與實(shí)現(xiàn)步驟

    給定N個(gè)權(quán)值作為N個(gè)葉子結(jié)點(diǎn),構(gòu)造一棵二叉樹,若該樹的帶權(quán)路徑長度達(dá)到最小,稱這樣的二叉樹為最優(yōu)二叉樹,也稱為哈夫曼樹(Huffman?Tree)。哈夫曼樹是帶權(quán)路徑長度最短的樹,權(quán)值較大的結(jié)點(diǎn)離根較近
    2022-04-04
  • C++ 封裝 DLL 供 C# 調(diào)用詳細(xì)介紹

    C++ 封裝 DLL 供 C# 調(diào)用詳細(xì)介紹

    這篇文章主要介紹了C++ 封裝 DLL 供 C# 調(diào)用(以C# 調(diào)用C++ 二次封裝的VLC播放庫為介質(zhì),支持回調(diào)函數(shù)的封裝),需要的朋友可以參考下面我文章的具體內(nèi)容
    2021-09-09

最新評論