首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

又遭遇vector了,交换不成功,程序还要崩溃,哪位高手帮小弟我看看,感激感激

2012-03-19 
又遭遇vector了,交换不成功,程序还要崩溃,谁帮我看看,感激感激#include iostream#include string#incl

又遭遇vector了,交换不成功,程序还要崩溃,谁帮我看看,感激感激
#include <iostream>
#include <string>
#include <vector>
#include <sstream>
using   namespace   std;
int   main()
{
char   str[]= "I   like   you ";
stringstream   ss(str);
vector <string>   vs;
string   s;
while(ss> > s)
{
vs.push_back(s);
}
vector <string> ::const_iterator     vi;
for(vi=vs.begin();vi!=vs.end();vi++)
{
cout < <*vi < < "   " < <endl;
}
string   temp;
for(int   i=0;i <(vs.size())/2;i++)
{
temp=vs[i];
vs[i]=vs[vs.size()-i];
vs[vs.size()-i]=temp;
}
for(vi=vs.begin();vi!=vs.end();vi++)
{
cout < <*vi < < "   " < <endl;
}
return   0;
}
把I   like   you   变成you   I   like   ,我现在知道怎么解决这个功能实现问题,但是为什么我的这种方法不能实现呢,而且程序会崩溃,让我很迷惑,哪位大哥帮忙看一下


[解决办法]
交换的时候注意边界!!

vs[i]=vs[vs.size()-i];
vs[vs.size()-i]=temp;
=〉〉
vs[i]=vs[vs.size()-i-1];
vs[vs.size()-i-1]=temp;

[解决办法]
reverse泛型算法是现成的,为什么不用。
真的不肯用,抄它的代码也可以啊。
[解决办法]
vs[i]=vs[vs.size()-i];
vs[vs.size()-i]=temp;
这违反了vector的用法

[解决办法]
vs[i]=vs[vs.size()-i];的问题...
好象LZ开了2个帖子一样的问题啊...呵呵...

热点排行