关闭

[ C++ ] [ 算法 ] [ 字符串处理 ] 以单词为单位将字符串倒序

1599人阅读 评论(0) 收藏 举报

#include <iostream>

#include <string.h>

 

using namespace std;

 

////////////////////////////////////////////////////////////////////////////////

///

/// 函数名 const string StringReverseByWord( const string srcString )

/// 功 能 以单词为单位,将字符串倒序;单词间以空格作为分隔符

/// 参 数 const string srcString 需要进行倒序处理的字符串

///                 程序保持实参值不变

///                                  所得结果以返回值形式返回

/// 返回值 const string            进行倒序处理所得的结果

///

////////////////////////////////////////////////////////////////////////////////

const string StringReverseByWord( const string srcString )

{

       string result;

      

       int pointer = srcString.length() - 1;

       int wordBegin , wordEnd , wordLength;

       while( pointer >= 0 )

       {

              while( srcString[ pointer ] == ' ' && pointer >= 0 )

              {

                     result += " ";

                     pointer--;

              }

              wordEnd = pointer;

              while( srcString[ pointer ] != ' ' && pointer >= 0 )

                     pointer--;

              wordBegin = pointer + 1;

              wordLength = wordEnd - wordBegin + 1;

             

              result += srcString.substr( wordBegin , wordLength );

       }

 

       return result;

}

 

int main()

{

       cout<< StringReverseByWord( "  i am a student " ).c_str() <<"."<<endl;

       return 0;

}

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:6804次
    • 积分:116
    • 等级:
    • 排名:千里之外
    • 原创:5篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1条