网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

数据库怎么实现邻接多重表

这篇文章主要介绍“数据库怎么实现邻接多重表”,在日常操作中,相信很多人在数据库怎么实现邻接多重表问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”数据库怎么实现邻接多重表”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

樊城ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!

1.引言:

   如果我们在应用中关注的是顶点 ,那么邻接表是很好的选择 ,可是如果是重点关注边 那么 邻接表就麻烦了

数据库怎么实现邻接多重表

若要删除左边的(V0,V2)这条边,需要对图下表的阴影两个结点进行删除操作。

2.邻接多重表的存储结构:

数据库怎么实现邻接多重表

iVex和jVex:是与某条边依附的两个顶点在顶点表中的下标。

iLink:指向依附顶点iVex的下一条边。

jLink:指向依附顶点jVex的下一条边。

3.邻接多重表示意图绘制:

数据库怎么实现邻接多重表

邻接多重表  
  
typedef char Vtype //顶点类型    
typedef int Etype //权值类型    
#definde MAXV 100;    
typedef struct edgeNode // 边  表示边的个数    
{   
    int ivex; //一条边的一端   
    int jvex; //一条边的另一端   
    struct edgeNode *ilink; //依赖于顶点ivex的下一条边   
    struct edgeNode *jlink;//依赖于顶点jvex的下一条边  
    type weight;//边 权值  
}EdgeNode;    
    
typedef struct Vnode //顶点表 节点    
{    
    Vtype data;    
    EdgeNode* firstEdge; //对应的一个边  
}VNODE; //    
    
typedef struct    
{    
    VNODE adjlist[MAXV];    
    int numV;//当前顶点数    
    int numE;//当前边数    
}GraphAdjList;      
    
void CreateALGraph(GraphAdjList* G)    
{    
    int i,j,k;    
    EdgeNode* e= NULL;    
    cout<<输入顶点数";    
    cin>>G->numV;    
    cout<<输入边数";    
    cin>>G->numE;    
    for(i=0;inumV;i++)//建立顶点信息    
    {    
        cin >> G->adjlist[i].data; //输入顶点信息    
        G->adjlist[i].firstEdge = NULL; //边表节点 为空  
    }  
    for(k=0;knumE;k++)//建立边信息    
    {    
        cout<<"输入边的开始";      
        cin>>i;      
        cout<<"输入边的结尾";      
        cin>>j;    
          //注意每次插入新节点都是在链表的表头进行   有点绕
        e = new EdgeNode; //(1,3) 这个线的插入是相互的对于两个点1,3来说 分别不同的因此有两个new    
        e->ivex = i;    
        e->ilink = G->adjlist[i].firstEdge;//以前是e->next = j...的。现在是当前的
        G->adjlist[i].firstEdge = e; 
		
        e->jvex = j;
        e->jlink = G->adjlist[j].firstEdge;  
        G->adjlist[j].firstEdge = e;  
    }     
}

到此,关于“数据库怎么实现邻接多重表”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


分享题目:数据库怎么实现邻接多重表
文章地址:http://bjjierui.cn/article/ijjcog.html

其他资讯