使用迭代器编写程序,从标准输入设备读入若干 string对象,并将它们存储在一个 vector 容器中,然后逆序输出 vector 中所有的元素。
时间: 2024-02-25 17:54:34 浏览: 52
好的,下面是代码实现:
```cpp
#include <iostream>
#include <vector>
#include <string>
int main()
{
std::vector<std::string> vec;
std::string str;
// 从标准输入设备读入 string 对象,并存储到 vec 中
while (std::cin >> str)
{
vec.push_back(str);
}
// 使用迭代器逆序输出 vec 中的元素
for (auto iter = vec.rbegin(); iter != vec.rend(); ++iter)
{
std::cout << *iter << " ";
}
std::cout << std::endl;
return 0;
}
```
首先定义一个 vector 容器和一个 string 对象,然后使用 while 循环从标准输入设备读入 string 对象,并将其存储到 vector 容器中。最后使用迭代器逆序输出 vector 中的元素。
这里需要注意的是,我们使用的是 `rbegin()` 和 `rend()` 函数,分别表示 vector 容器的最后一个元素和第一个元素的逆序迭代器。因此,在循环中需要使用 `++iter` 将迭代器逆序移动。
相关问题
使用迭代器编写程序,从标准输入设备读入若干string对象,并将它们存储在一个vector容器中,然后逆序输出vector中的所有元素
好的,这是一个很好的问题。以下是使用迭代器将标准输入设备中的 string 对象存储在 vector 容器中,并逆序输出 vector 中的所有元素的代码:
```c++
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
int main()
{
std::vector<std::string> vec; // 创建一个存储 string 对象的 vector 容器
std::string input; // 创建一个 string 对象用于存储输入的数据
// 从标准输入设备读入若干string对象,并将它们存储在vector容器中
while (std::cin >> input)
{
vec.push_back(input);
}
// 逆序输出 vector 中的所有元素
std::reverse(vec.begin(), vec.end()); // 将 vector 容器逆序
for (auto iter = vec.begin(); iter != vec.end(); ++iter) // 使用迭代器遍历 vector 容器
{
std::cout << *iter << " ";
}
std::cout << std::endl;
return 0;
}
```
你可以将这段代码粘贴到你的 IDE 中编译运行,然后输入一些 string 对象,程序会将它们存储在 vector 容器中,并逆序输出 vector 中的所有元素。
使用迭代器编写程序,键盘输入若干 string对象,并将它们存储在一个 vector 容器中,然后逆序输出 vector 中所有的元素。
好的,下面是代码实现:
```cpp
#include <iostream>
#include <vector>
#include <string>
int main()
{
std::vector<std::string> vec;
std::string str;
// 从键盘输入 string 对象,并存储到 vec 中
while (std::cin >> str)
{
vec.push_back(str);
}
// 使用迭代器逆序输出 vec 中的元素
for (auto iter = vec.rbegin(); iter != vec.rend(); ++iter)
{
std::cout << *iter << " ";
}
std::cout << std::endl;
return 0;
}
```
和之前的程序类似,不同的是我们使用的是从键盘输入,而不是从标准输入设备读入。这里需要注意的是,当输入完最后一个 string 对象后,需要按下 Ctrl + Z(Windows)或 Ctrl + D(Linux/Mac)结束输入,否则程序将一直等待用户输入。
其余部分和之前的程序一样,使用迭代器逆序输出 vector 中的元素。
阅读全文