• 大小: 1.57MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-15
  • 语言: 其他
  • 标签: 距离向量  

资源简介

基于距离向量算法的rip协议的实现,C++代码,运行环境visual studio2005

资源截图

代码片段和文件信息

// M.cpp : 定义控制台应用程序的入口点。
//

#include “stdafx.h“
#include
#include
#include
#include
#include
using namespace std;
const int MAX=15;

typedef struct ArcCell//弧结点
{
int adj;
}ArcCellAm[MAX][MAX];
struct TNode//路由表
{
string destination;
int distance;
string nextjump;
};
struct VNode//路由结点
{
string r;//顶点名
vector  t;
};
struct Graph{//图
VNode vex[MAX];
Am arcs;
int vexnumarcnum;
};
//确定s在图中的位置
int LocateVex(Graph Gstring s)
{
int i;
for(i=0;i if(s==G.vex[i].r)
break;
return i;
}
//创建图
bool Create(Graph &G)
{
int ijk;
TNode temp;
string v1v2;
cout<<“输入路由数 链路数“< cin>>G.vexnum>>G.arcnum;
cout<<“输入路由器名及路由表“< for(i=0;i {
cout<<“输入第 “< cin>>G.vex[i].r;
cout<<“输入其路由表“< cin>>temp.destination>>temp.distance>>temp.nextjump;
while(1)
{
 
if(temp.distance>16)temp.distance=16;
G.vex[i].t.push_back(temp);//构造路由表
            cin>>temp.destination>>temp.distance>>temp.nextjump;
if(temp.destination==“0“&&temp.distance==0&&temp.nextjump==“0“)
break;
}

}
for(i=0;i for(j=0;j G.arcs[i][j].adj=10000;
for(k=0;k {
cout<<“输入第 “< cin>>v1>>v2;
i=LocateVex(Gv1);
j=LocateVex(Gv2);
G.arcs[i][j].adj=1;
G.arcs[j][i].adj=1;
}
return true;
}
void print(Graph G)
{
int ij;
for(i=0;i {
cout<<“路由器 “< cout< for(j=0;j<(G.vex[i].t.size());j++)
cout< cout< }
}
void printv(VNode v)
{
int i;
cout<<“路由器   “< cout< for(i=0;i cout< cout<
}
bool Exchange(Graph &G)
{
int ijktcount;
    TNode temp;
for(i=0;i for(j=0;j {
if(G.arcs[i][j].adj==1)
{
for(k=0;k {
            temp.destination=G.vex[i].t[k].destination;
temp.distance=G.vex[i].t[k].distance+1;
if(temp.distance>16)temp.distance=16;
temp.nextjump=G.vex[i].r;
count=0;
for(t=0;t {
if(G.vex[j].t[t].destination==temp.destination)
{
count++;
if(G.vex[j].t[t].nextjump==temp.nextjump)
G.vex[j].t[t].distance=temp.distance;
else if(G.vex[j].t[t].distance>temp.distance)
{
G.vex[j].t[t].distance=temp.distance;
G.vex[j].t[t].nextjump=temp.nextjump;
}
}
}
if(count==0)
G.vex[j].t.push

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      90112  2009-11-10 17:40  M\debug\M.exe

     文件     592552  2009-11-10 17:40  M\debug\M.ilk

     文件     764928  2009-11-10 17:40  M\debug\M.pdb

     文件       8198  2009-11-10 17:40  M\M\Debug\BuildLog.htm

     文件        403  2009-11-10 17:15  M\M\Debug\M.exe.embed.manifest

     文件        468  2009-11-10 17:15  M\M\Debug\M.exe.embed.manifest.res

     文件        385  2009-11-10 17:40  M\M\Debug\M.exe.intermediate.manifest

     文件     240716  2009-11-10 17:40  M\M\Debug\M.obj

     文件    1048576  2009-11-10 17:15  M\M\Debug\M.pch

     文件         67  2009-11-10 17:40  M\M\Debug\mt.dep

     文件      10885  2009-11-10 17:15  M\M\Debug\stdafx.obj

     文件     289792  2009-11-10 17:40  M\M\Debug\vc80.idb

     文件     258048  2009-11-10 17:40  M\M\Debug\vc80.pdb

     文件       3472  2009-11-10 17:40  M\M\M.cpp

     文件       4469  2009-11-10 17:06  M\M\M.vcproj

     文件       1421  2009-11-10 18:21  M\M\M.vcproj.GREAT-JIAJIA.JIAJIA.user

     文件        914  2009-11-10 17:06  M\M\ReadMe.txt

     文件        206  2009-11-10 17:06  M\M\stdafx.cpp

     文件        276  2009-11-10 17:06  M\M\stdafx.h

     文件    5745664  2009-11-10 18:21  M\M.ncb

     文件        868  2009-11-10 17:06  M\M.sln

    ..A..H.      9216  2009-11-10 18:21  M\M.suo

     目录          0  2009-11-10 17:40  M\M\Debug

     目录          0  2009-11-10 17:15  M\debug

     目录          0  2009-11-10 17:40  M\M

     目录          0  2009-11-10 17:15  M

----------- ---------  ---------- -----  ----

              9071636                    26


评论

共有 条评论