鄰接矩陣表示有向帶權(quán)圖-創(chuàng)新互聯(lián)

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef char VertexType[5]; //存儲(chǔ)頂點(diǎn)值


#define MaxSize 50
#define INIT 10000

typedef struct //鄰接矩陣,存儲(chǔ)弧的信息
{
    int adj;
}ArcNode,AdjMatrix[MaxSize][MaxSize];

typedef struct   //圖的類型定義
{
    VertexType vex[MaxSize];  //存儲(chǔ)頂點(diǎn)值
    AdjMatrix arc;  //鄰接矩陣
    int arcnum,vexnum;   //前者弧數(shù),后者頂點(diǎn)數(shù)
}MGraph;

void CreateVertex(MGraph *G)    //創(chuàng)建鄰接矩陣
{
    int i,j,k,w;  
    VertexType v1,v2;
    
    printf("請(qǐng)輸入有向帶權(quán)圖的頂點(diǎn)數(shù)和弧數(shù):(空格間隔)\n");
    scanf("%d%d",&(*G).vexnum,&(*G).arcnum);
    
    printf("請(qǐng)輸入%d個(gè)頂點(diǎn)的值:\n",G->vexnum);
    for ( i=0 ; i<G->vexnum ; i++ )
    {
        scanf("%s",&G->vex[i]);
    }
    
    for ( i=0 ; i<G->vexnum ; i++ )     //初始化鄰接矩陣
    {
        for ( j=0 ; j<G->vexnum ; j++ )
        {
            G->arc[i][j].adj = INIT;
        }
    }
    
    printf("請(qǐng)輸入%d條弧的弧尾,弧頭和權(quán)值:\n",G->arcnum);
    for ( k=0 ; k<G->arcnum ; k++ )
    {
        scanf("%s%s%d",v1,v2,&w);
        i = LocateVertex(*G,v1);
        j = LocateVertex(*G,v2);
        
        G->arc[i][j].adj = w;
    }
}


int LocateVertex(MGraph G,VertexType v)  //索引
{
    int i;
    
    for ( i=0 ; i<G.vexnum ; i++ )
    {
        if ( strcmp(G.vex[i],v) == 0 )
        {
            return i;
        }
    }
    return -1;
}

void DisplayVertex(MGraph G)   //輸出
{
    int i,j;
    
    printf("%d個(gè)頂點(diǎn)的值為:",G.vexnum);
    for ( i=0 ; i<G.vexnum ; i++ )
    {
        printf("%s ",G.vex[i]);
    }
    
    printf("\n有向帶權(quán)圖\n");
    
    printf("序號(hào):");
    for ( i=0 ; i<G.vexnum ; i++ )
    {
        printf("%8d",i);
    }
    printf("\n");
    
    for ( i=0 ; i<G.vexnum ; i++ )
    {
        printf("%8d",i);
        for ( j=0 ; j<G.vexnum ; j++ )
        {
            printf("%8d",G.arc[i][j].adj);
        }
        printf("\n");
    }
    
}


int main(void)
{
    MGraph G;
    printf("創(chuàng)建圖:\n");
    CreateVertex(&G);
    
    printf("輸出圖:");
    DisplayVertex(G);
    printf("\n");
        
    return 0;
}

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供永靖網(wǎng)站建設(shè)、永靖做網(wǎng)站、永靖網(wǎng)站設(shè)計(jì)、永靖網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、永靖企業(yè)網(wǎng)站模板建站服務(wù),十載永靖做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

新聞標(biāo)題:鄰接矩陣表示有向帶權(quán)圖-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://muchs.cn/article20/dsphjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、網(wǎng)站導(dǎo)航微信公眾號(hào)、用戶體驗(yàn)、網(wǎng)站策劃、服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化