91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 6KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-01
  • 語言: C/C++
  • 標簽: 路由算法??

資源簡介

編程實現簡單網絡拓撲的鏈路狀態路由算法。 結點之間的連接關系固定; 鏈路開銷可以由用戶設定。 鏈路狀態算法的實現:

資源截圖

代碼片段和文件信息

//VC++
#include?//可以不寫?
#include??//文件輸入輸出頭文件?
#include?//防止編譯exit()時出錯?
#include?//?因為使用了setw()語句
#include

using?namespace?std;

const?int?INFINITY=10000;
const?int?OK=1;?
const?int?updateTime=10;


void?createGraph(int?*arcs[]int?&?num){
//創建并初始化網絡拓撲圖?
cout<<“請輸入路徑的權值(用鄰接矩陣表示拓撲圖的方式):“< for?(int?i=0;i arcs[i]=new?int?[num];
for(int?j=0;j cin>>arcs[i][j];
}
}


void?printFileGraph(int?*arcs[]int?num){
//把拓撲圖中的鄰接矩陣保存到文件中
ofstream?outfile(“Graph.txt“ios::out|ios::trunc);
if(!?outfile){
cout<<“打開文件時出現錯誤!“< exit(1);//退出程序?
}


outfile<<“拓撲圖的鄰接矩陣“< for(int?i=0;i for(int?j=0;j outfile< if((j+1)%num==0)
outfile< }
outfile<<“注:“< outfile< cout<<“拓撲圖已經存儲在當前目錄下Graph.txt文件中“< outfile.close();
}


void?initRoute(int?*?R?[]int?RL[]int?vNum){
//路由表數據復位?
for(int?i=0;i RL[i]=INFINITY;
R[i]=new?int[vNum];
for(int?j=0;j R[i][j]=-1;
}//outside?for
}//initRoute


void?updateRouteLen(int?R1[]?int?R2[]int?destint?num){
//用路徑R2給R1賦值 ??
for(int?i=0;i R1[i]=R2[i];

for(int?j=0;j if?(R1[j]==-1){
R1[j]=dest;
break;
}
}//for
}//updateRoute


void?Dijkstra(int?*?arcs[]int?*?R[]int?RL[]int?vexnum){
//迪杰斯特拉算法
int?v0;??//定義源節點?
bool?*?visit=new?bool?[vexnum];//已經確定最短路徑的節點的集合?
cout<<“請輸入起始節點:“;
cin>>v0;
cout<
for(int?cnt=0;cnt visit[cnt]=FALSE;
RL[cnt]=arcs[v0][cnt];

if(RL[cnt] R[cnt][0]=v0;
R[cnt][1]=cnt;
}
}??//for
RL[v0]=0;//源節點的標志?
visit[v0]=TRUE;??//初始化已經找到最短路徑的點集合?
?
for(int?i=1;i int?min=INFINITY;
int?v=v0;
for(int?j=0;j if(!visit[j])
if(RL[j] v=j;
min=RL[j];?
}
visit[v]=TRUE;????//離v0頂點最近的v加入到s集
for(int?k=0;k if(!visit[k]&&(min+arcs[v][k] //modify?shortest?r[j]?and?RL[j]
RL[k]=min+arcs[v][k];
updateRouteLen(R[k]R[v]kvexnum);?
}//if
}//for
delete[]?visit;
visit=NULL;
}//Dijkstra


void?printRoute(int?*?R[]int?RL[]?int?vNum){
//打印得到的最短路徑表?
ofstream?outfile(“Route.txt“ios::out|ios::trunc);
if(!?outfile){
cout<<“打開文件時出現錯誤!“< exit(1);
}

for(int?dest=0;dest

評論

共有 條評論