C++ #句子逆序# 自己写的算法,用了vector和string类的函数

#include<iostream>
#include<vector>
#include<string.h>
//利用string
using namespace std;
int main()
{
    string taget;
    int shi=0,mo=0;//定义初始和末
    int m=0,i=0,j=0;//flag用于判断是否重复
    vector<char> T;
    getline(cin,taget);
    m=taget.size();
    mo=taget.size()-1;
    for(i=m-1;i>=0;i--)//
    {          
       if(taget[i]==' ')
        {
           for(j=i+1;j<=mo;j++) 
           {
              T.push_back(taget[j]);//插入单词            
           }
          T.push_back(taget[i]);//还要插入空格
           mo=i-1;//更新上个位置         
        }

       if(i==0)//处理第一个单词
        {
          for(j=0;j<=mo;j++) 
           {
              T.push_back(taget[j]);//插入单词            
           }
        }   
    }
     for(vector<char>:: iterator it=T.begin();it!=T.end();it++)//输出vector
     {
         cout<<*it;
     }
    return 0;
}