简单路由表的数据结构(C语言)应该怎么设计?

来源:百度知道 编辑:UC知道 时间:2024/06/05 15:40:22
要设计一张简单的路由表,数据结构(C语言)应该怎么设计呢?
简单的就好,能用线性表设计吗?

最小生成树
#include <stdio.h>
#define M 10
#define MAX 100
void minispantree_PRIM(int ad[][M],int n)
{ int i,j,k,p,q,wm;
q=p=n-1;
ad[q][q]=1;
for(k=0;k<(n-1);k++)
{ wm=MAX;
for(i=0;i<n;i++)
if(ad[i][i]==1)
for(j=0;j<n;j++)
if((ad[j][j]==0)&&(ad[i][j]<wm))
{ wm=ad[i][j];
p=i;
q=j;
}
ad[q][q]=1;
printf("%d %d %d\n",p+1,q+1,ad[p][q]);
if(p>q) ad[p][q]=-ad[p][q];
else ad[q][p]=-ad[q][p];
}
}

void main()
{ int n=6,i,j;
static int ad[][M]={{0 ,6 ,1,5 ,MAX,MAX},
{6 ,0 ,5,MAX,3 ,MAX},
{1 ,5 ,0,5 ,6 ,4},
{5 ,MAX,5,0 ,MAX,2},
{MAX,3 ,6,MAX,0 ,6},
{MAX,MAX,4,2 ,6 ,0}};
minispantree_PRIM(ad,n);