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

使用C語言遞歸與非遞歸實現(xiàn)字符串反轉(zhuǎn)函數(shù)char *reverse(char *str)的方法

 更新時間:2013年05月28日 16:29:48   作者:  
本篇文章是對使用C語言遞歸與非遞歸實現(xiàn)字符串反轉(zhuǎn)函數(shù)char *reverse(char *str)進行了詳細的分析介紹,需要的朋友參考下

代碼如下所示:

復(fù)制代碼 代碼如下:

// 遞歸實現(xiàn)字符串反轉(zhuǎn)  
char *reverse(char *str)  
{  
 if( !str )  
 {  
  return NULL;
 }  

    int len = strlen(str);  
    if( len > 1 )  
    {  
        char ctemp =str[0];  
        str[0] = str[len-1];     
        str[len-1] = '/0';// 最后一個字符在下次遞歸時不再處理  
        reverse(str+1); // 遞歸調(diào)用  
        str[len-1] = ctemp;  
    }  

    return str;  
}

// 非遞歸實現(xiàn)字符串反轉(zhuǎn)
char *reverse(char *str)  
{  
 if( !str )  
 {  
  return NULL;
 }  

    int len = strlen(str);  
    char temp;  
    for( int i = 0; i < len / 2; i++ )  
    {  
        // 交換前后兩個相應(yīng)位置的字符  
        temp = *(str + i);  
        *(str + i) = *(str + len - 1 - i);  
        *(str + len - 1 - i) = temp;  
    }  

    return str;  
}
int _tmain(int argc, _TCHAR* argv[])
{
 char src[] = {"abcdef"};
 char *pdest = reverse(src);
 getchar();
 return 0;
}

相關(guān)文章

  • C++中棧結(jié)構(gòu)建立與操作詳細解析

    C++中棧結(jié)構(gòu)建立與操作詳細解析

    我們可以把棧理解成一個大倉庫,放在倉庫門口(棧頂)的貨物會優(yōu)先被取出,然后再取出里面的貨物。而從數(shù)據(jù)的邏輯結(jié)構(gòu)來看,棧結(jié)構(gòu)起始就是一種線性結(jié)構(gòu)
    2013-10-10
  • C++ ofstream與ifstream詳細用法

    C++ ofstream與ifstream詳細用法

    ofstream是從內(nèi)存到硬盤,ifstream是從硬盤到內(nèi)存,其實所謂的流緩沖就是內(nèi)存空間
    2013-07-07
  • C語言動態(tài)內(nèi)存的分配實例詳解

    C語言動態(tài)內(nèi)存的分配實例詳解

    動態(tài)內(nèi)存管理同時還具有一個優(yōu)點,當程序在具有更多內(nèi)存的系統(tǒng)上需要處理更多數(shù)據(jù)時,不需要重寫程序,下面這篇文章主要給大家介紹了關(guān)于C語言動態(tài)內(nèi)存分配的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • C++圖文并茂分析講解內(nèi)存管理

    C++圖文并茂分析講解內(nèi)存管理

    本章主要介紹C語言與C++的內(nèi)存管理,以C++的內(nèi)存分布作為引入,介紹C++不同于C語言的內(nèi)存管理方式(new delete對比 malloc free),感興趣的朋友來看看吧
    2022-09-09
  • 判斷本機office安裝版本的方法分享

    判斷本機office安裝版本的方法分享

    這篇文章主要介紹了判斷本機office安裝版本的方法分享,需要的朋友可以參考下
    2014-01-01
  • C++如何實現(xiàn)簡易掃雷游戲

    C++如何實現(xiàn)簡易掃雷游戲

    這篇文章主要為大家詳細介紹了C++如何實現(xiàn)簡易掃雷游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • C++利用easyx圖形庫實現(xiàn)創(chuàng)意天天酷跑小游戲

    C++利用easyx圖形庫實現(xiàn)創(chuàng)意天天酷跑小游戲

    這篇文章主要為大家詳細介紹了C++如何利用easyx圖形庫實現(xiàn)創(chuàng)意小游戲——天天酷跑,文中的示例代碼講解詳細,快跟隨小編一起了解一下吧
    2023-03-03
  • C++實現(xiàn)LeetCode(45.跳躍游戲之二)

    C++實現(xiàn)LeetCode(45.跳躍游戲之二)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(45.跳躍游戲之二),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C++多重繼承與虛繼承分析

    C++多重繼承與虛繼承分析

    這篇文章主要介紹了C++多重繼承與虛繼承分析,是面向?qū)ο蟪绦蛟O(shè)計非常重要的知識點,需要的朋友可以參考下
    2014-08-08
  • C語言數(shù)據(jù)結(jié)構(gòu)樹之后序遍歷的實現(xiàn)

    C語言數(shù)據(jù)結(jié)構(gòu)樹之后序遍歷的實現(xiàn)

    這篇文章主要介紹了C語言數(shù)據(jù)結(jié)構(gòu)之后序遍歷的實現(xiàn)的相關(guān)資料,這里提供一個簡單實例來實現(xiàn)后續(xù)遍歷,對于數(shù)據(jù)結(jié)構(gòu)樹的學(xué)習很有幫助,需要的朋友可以參考下
    2017-07-07

最新評論