编写一程序,让用户自由地从键盘上输入整数,直到输入数字0时结束。把用户输入的 数据保存在模板类Vector<int>定义的对象中,并对用户输入的所有数进行排序输出。在 向显示器进行输出时,要求用一下3种方式实现: a) 仅使用Vector<int>的相关成员函数,不使用迭代器进行输出;使用迭代器自己编程输出,使用STL提供的通用算法for_each进行输出
时间: 2024-02-12 21:03:29 浏览: 70
下面是程序代码:
```
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
vector<int> v;
int num;
while (true) {
cin >> num;
if (num == 0) break;
v.push_back(num);
}
sort(v.begin(), v.end());
// 第一种方式
for (int i = 0; i < v.size(); i++) {
cout << v[i] << " ";
}
cout << endl;
// 第二种方式
for (auto it = v.begin(); it != v.end(); it++) {
cout << *it << " ";
}
cout << endl;
// 第三种方式
for_each(v.begin(), v.end(), [](int x){ cout << x << " "; });
cout << endl;
return 0;
}
```
在该程序中,首先创建了一个`vector<int>`对象v,然后使用while循环,让用户不断输入整数,每输入一个整数就将其添加到v中,当用户输入0时,结束输入循环。接着使用`sort`算法对v中的元素排序,最后分别使用三种方式输出v中的元素,包括使用`vector<int>`的相关成员函数、使用迭代器自己编程输出和使用STL提供的通用算法`for_each`进行输出。
阅读全文
相关推荐
















