没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
内容概要:本文展示了一个使用C++编写的用于图形网络(图模型)上进行资源分配与服务请求处理的小型应用程序。它包含了图结构的基本操作如载入边信息、执行Dijkstra最短路径算法等;此外还展示了服务请求对象如何创建以及图的资源配置与输出方法的具体调用。程序最后还包括了简单的随机数值输出。 适合人群:有一定C++编程经验的学习者或开发人员。 使用场景及目标:本程序可以作为学习图论相关算法实现及网络资源管理的一个简单实例。对于希望深入理解和实际动手练习图的数据结构操作及其在网络资源分配方面的应用来说非常有帮助。 阅读建议:重点关注图结构的定义方式、各种方法之间的相互调用关系以及具体业务逻辑的实现流程。同时尝试对程序进行扩展改进,如增加更多类型的服务请求或者优化现有的资源配置策略。
资源推荐
资源详情
资源评论
#include <iostream>
#include <fstream>
#include <iterator>
#include <algorithm>
#include <numeric>
#include <functional>
#include <map>
#include "path.h"
#include "edge.h"
#include "node.h"
#include "graph.h"
#include "servicerequest.h"
typedef multimap<int, Service_Request*> SERVICEREQUESTS;
typedef SERVICEREQUESTS::iterator SERVICEREQUESTS_IT;
typedef multimap<int, Service_Request*> ::value_type valType;
using namespace std;
int main()
{
Graph graph;
graph.LoadEdgeindex("topology1.txt");
Physical_Path path;
SERVICEREQUESTS rs;
SERVICEREQUESTS_IT it;
Service_Request *sr=new Service_Request(1,2,1,3,2,1,1);
rs.insert(SERVICEREQUESTS::value_type(1, sr));
rs.insert(SERVICEREQUESTS::value_type(2, sr));
rs.insert(SERVICEREQUESTS::value_type(2, sr));
rs.insert(SERVICEREQUESTS::value_type(2, sr));
for ( it =rs.begin();it!=rs.end(); it++ )
{
graph.LoadGraph((*it).second->_link_bandwidth);
graph.Dijkstra((*it).second->_source,(*it).second->_destination,path);
path.SetBandwidth((*it).second->_link_bandwidth);
graph.AllocateResource(path);
path.Out();
资源评论
pk_xz123456
- 粉丝: 2283
- 资源: 2353
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功