我更关心代码是如何工作的,而不是实际的代码。我只需要帮助理解它。任何帮助,将不胜感激:) PS:我是C ++ noob
答案 0 :(得分:2)
粗略轮廓
#include<vector>
#include<string>
#include<cstdio>
// some code goes here
std::vector<std::string> myVectorOfStrings;
// some code goes here
myVectorOfStrings.push_back(someStringValue); // this might be in a loop
// some code goes here
for( std::vector<std::string>::const_iterator itr = myVectorOfStrings.begin();
itr != myVectorOfStrings.end();
itr++ )
{
cout << *itr << endl; // obviously you might want to be neater here
}
......等等。自己尝试(包括自己弄清楚反向部分),发布你的代码,以及你遇到的问题。
答案 1 :(得分:2)
#include <iostream>
#include <algorithm>
#include <vector>
int main () {
std::vector<int> myvector;
// set some values: write in a vector
for (int i=1; i<10; ++i) myvector.push_back(i); // 1 2 3 4 5 6 7 8 9
// print the values of the vector
for (int i=0; i<myvector.size(); i++) cout<<myvector[i]<<" ";
// reverse the vector
std::reverse(myvector.begin(),myvector.end()); // 9 8 7 6 5 4 3 2 1
// print out content:
std::cout << "myvector contains:";
for (std::vector<int>::iterator it=myvector.begin(); it!=myvector.end(); ++it)
std::cout << ' ' << *it;
std::cout << '\n';
return 0;
}
答案 2 :(得分:0)
这听起来像是家庭作业。此外,有几种方法可以做到这一点。你说你不想要实际的代码,所以这里是:
我认为这意味着“创建一个向量并将其放入其中”。问题是,我不知道你想把它放进去。
#include <vector>
int main()
{
std::vector<int> vec;
for (int i = 0; i < 10; ++i) {
vec.push_back(i);
}
return 0;
}
有几种方法可以做到这一点。我知道最酷的是使用ostream_iterator
。但是,如果这是一个班级,老师可能会有点惊讶看到。
有一个std::reverse
。如果这是不可接受的,你可以简单地swap the first element with the last element, the second element with the next to last element, etc(PDF,第143页)。将向量的前半部分与后半部分交换时要小心停止。如果你继续前进,你将再次反转向量,这将为你留下你的开始。
这只不过是重做代码来首先显示向量。