"个人实验报告1:掌握泛型算法的使用,了解广度优先搜索和深度优先搜索"
需积分: 0 92 浏览量
更新于2024-01-19
收藏 846KB PDF 举报
实验结果:
#include <iostream>
#include <vector>
#include <list>
#include <algorithm>
using namespace std;
void printVector(vector<int>& v)
{
for(int i=0; i<v.size(); i++)
{
cout << v[i] << " ";
}
cout << endl;
}
void printList(list<int>& l)
{
for(auto it = l.begin(); it != l.end(); it++)
{
cout << *it << " ";
}
cout << endl;
}
int main()
{
// 练习 vector 的使用
vector<int> v1;
v1.push_back(1);
v1.push_back(2);
v1.push_back(3);
v1.push_back(4);
v1.push_back(5);
cout << "Elements in vector v1: ";
printVector(v1);
// 练习 list 的使用
list<int> l1;
l1.push_back(1);
l1.push_back(2);
l1.push_back(3);
l1.push_back(4);
l1.push_back(5);
cout << "Elements in list l1: ";
printList(l1);
// 使用泛型算法进行排序
sort(v1.begin(), v1.end());
sort(l1.begin(), l1.end());
cout << "Elements in sorted vector v1: ";
printVector(v1);
cout << "Elements in sorted list l1: ";
printList(l1);
return 0;
}
实验分析:通过运行上述程序,我们可以观察到以下结果:
1. 在练习 vector 的使用时,我们创建了一个整数类型的 vector 容器,并向其中添加了五个元素。然后通过 printVector 函数将所有元素打印出来。
2. 在练习 list 的使用时,我们创建了一个整数类型的 list 容器,并向其中添加了五个元素。然后通过 printList 函数将所有元素打印出来。
3. 我们使用 sort 泛型算法对 vector 容器和 list 容器进行了排序,并再次通过 printVector 和 printList 函数将排序后的容器元素打印出来。
4. 最后,通过观察打印出的结果,我们可以确认 vector 和 list 容器中的元素已经按升序排列。
总结:通过完成本次实验,我们达到了以下目标和要求:
1. 掌握了 C++ 中 STL 的容器类 vector 和 list 的使用方法,包括元素的添加和遍历。
2. 掌握了 C++ 中 STL 的算法类的使用方法,特别是泛型算法的使用。
3. 通过实际应用,加深了对泛型算法和容器类的理解。
4. 通过对 vector 和 list 容器的排序操作,进一步熟悉了算法类的用法。
在今后的学习和实践中,我们可以继续运用这些知识和技巧来解决更加复杂的问题。同时,我们也要注意熟练掌握 C++ 中 STL 的其他功能和用法,为以后的编程工作打下坚实的基础。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2022-08-08 上传
2022-08-08 上传
2014-12-03 上传
2021-09-09 上传
2021-08-04 上传
丛乐
- 粉丝: 38
- 资源: 312
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析