单词翻转

来源:互联网 发布:易我数据恢复工具 编辑:程序博客网 时间:2024/04/30 08:42


//将一句话翻转
// I  am a student--> student a am I 
//先每个单词翻转,再整句话翻转


1 #include<iostream> 2 #include<string> 3  using namespace std; 4 5  class InvertWords{ 6 public: 7 InvertWords(string* wo):words(wo){} 8 void Invert() 9 {10 int len=words->size();11 int beg=-1;12 //翻转整个字符串13 InvertWord(beg,len);14 //翻转每个单词15 for(int i=0;i<len;i++)16 {17 if(words->at(i)==' ')18 {19 InvertWord(beg,i); 20 beg=i;21 }22 }23 }24 25 private:26 void InvertWord(int beg,int end)27 {28 char tmp;29 while(++beg<--end)30 {31 tmp=words->at(beg);32 words->at(beg)=words->at(end);33 words->at(end)=tmp;34 }35 }36 string* words;37 };