题目描述
描述
键盘输入 5 个整数,将这些数据保存到 vector 容器中,采用正向迭代器和反向迭代器分别遍历 vector 中的元素并输出。
输入描述:
输入 5 个整数
输出描述:
使用正向迭代器和反向迭代器分别遍历输出 vector 中的元素,元素之间使用空格隔开,两次遍历之间换行。
例如:
1 2 3 4 5
5 4 3 2 1
示例1
输入:
1 2 3 4 5
输出:
1 2 3 4 5 5 4 3 2 1
题解
vector容器用#include<vector>头文件
输入的数据插入vector中,之后从最开始遍历到结尾,又从结尾遍历到开头
#include <iostream>
#include<vector>
#include<algorithm>// write your code here......
int a[5];
using namespace std;
void test01() {
vector<int>v;
for (int i = 0; i < 5; i++) {
cin >> a[i];
v.push_back(a[i]);
}
vector<int>::iterator it = v.begin();
for (; it != v.end(); it++) {
cout << *it << " ";
}
cout << "\n";
for (; it != v.begin();) {
it--;
cout << *it << " ";
}
}
int main() {
// write your code here......
test01();
return 0;
}
也可以用反向迭代器reverse_iterator (注意要写v.rbegin()和v.rend())
#include <iostream>
#include<vector>
#include<algorithm>// write your code here......
int a[5];
using namespace std;
void test01() {
vector<int>v;
for (int i = 0; i < 5; i++) {
cin >> a[i];
v.push_back(a[i]);
}
for (vector<int>::iterator it = v.begin(); it != v.end(); it++) {
cout << *it << " ";
}
cout << "\n";
for (vector<int>::reverse_iterator rit = v.rbegin(); rit != v.rend();rit++) {
cout << *rit << " ";
}
}
int main() {
// write your code here......
test01();
return 0;
}