请围绕“、编写一程序,让用户自由地从键盘上输入整数,直到输入数字 0 时 结束。把用户输入的数据保存在模板类 vector 定义的对象中,并对 用户输入的所有数进行排序输出。在向显示器进行输出时,要求用以 下 3 种方式实现: 1)仅使用 vector 的相关成员函数,不使用迭代器进行输出; 2)使用迭代器自己编程输出; 3)使用 STL 提供的通用算法 for_each 进行输出。”写出一个实验总结
时间: 2024-01-22 07:19:42 浏览: 32
本次实验的主要目的是熟悉 STL 中 vector 的相关操作,同时了解迭代器和通用算法的使用方法。以下是实验步骤和总结:
1. 首先定义一个模板类 vector 对象,用于存储用户输入的整数。
```c++
template<typename T>
vector<T> vec;
```
2. 使用 while 循环,从键盘上获取用户输入的整数,并将其保存在 vector 对象中。直到用户输入数字 0 时结束循环。
```c++
int num;
while(cin >> num && num != 0)
{
vec.push_back(num);
}
```
3. 使用 sort 函数对 vector 对象中的元素进行排序。
```c++
sort(vec.begin(), vec.end());
```
4. 使用 vector 的相关成员函数,输出排序后的结果。
```c++
for(int i = 0; i < vec.size(); i++)
{
cout << vec[i] << " ";
}
```
5. 使用迭代器自己编程输出排序后的结果。
```c++
for(auto it = vec.begin(); it != vec.end(); it++)
{
cout << *it << " ";
}
```
6. 使用 STL 提供的通用算法 for_each 进行输出。
```c++
for_each(vec.begin(), vec.end(), [](int i){ cout << i << " "; });
```
通过本次实验,我学习了 STL 中 vector 的相关操作,如 push_back、sort、begin、end 等成员函数的使用方法。同时也了解了迭代器和通用算法的使用方法,更好地掌握了 C++ 的 STL 库。
相关推荐
![ppt](https://img-home.csdnimg.cn/images/20210720083527.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)