您的位置:首页 > 编程语言 > C语言/C++

翻转句子中单词的顺序

2014-09-01 20:04 169 查看
#include
#include
using namespace std;

void ReverseStr(char* str_in,char* str_out);
void Reverse(char *pBegin,char *pEnd);

int main()
{
char* str_resever="I am a student";
char* str_return="";
ReverseStr(str_resever,str_return);
system("pause");
return 0;
}

void ReverseStr(char* str_in,char* str_out)
{
if (str_in==NULL)
{
return;
}

char *pBegin=str_in;
char *pEnd=str_in;
while (*pEnd!='\0')
{
pEnd++;
}
Reverse(pBegin,pEnd);

pBegin=str_in;
pEnd=str_in;

while (*pEnd!='\0')
{
if (*pBegin==' ')
{
pBegin++;
pEnd++;
continue;
}
else if (*pEnd==' ' || pEnd=='\0')
{
Reverse(pBegin,pEnd--);
pBegin=pEnd;
}
else
{
pEnd++;

}
}

}
void Reverse(char *pBegin,char *pEnd)
{
if (pEnd==NULL || pBegin==NULL)
{
return;
}
char temp;

while (pBegin<pEnd)
{
temp=*pBegin;
*pBegin=*pEnd;
*pEnd=*pBegin;
pBegin++;
pEnd--;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++ 算法