欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網(wǎng)!

C語言

當(dāng)前位置:主頁 > 軟件編程 > C語言 >

圖的鄰接表存儲表示示例講解

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C語言|點擊: 次

復(fù)制代碼 代碼如下:

//---------圖的鄰接表存儲表示-------

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

#define MAX_VERTEXT_NUM 20

typedef int InfoType;
typedef char VertextType;

typedef struct ArcNode
{
    int adjvex;
    struct ArcNode *nextArc;
    InfoType *info;
}ArcNode;

typedef struct VNode
{
    VertextType data;
    ArcNode *firstArc;
}VNode, AdjList[MAX_VERTEXT_NUM];

typedef struct
{
    AdjList verTices;
    int vexNum;
    int arcNum;
    int kind;
}ALGraph;

void CreateGraph(ALGraph *G);
void DisplayGraph(ALGraph *G);

int main()
{
    ALGraph *Graph = (ALGraph *)malloc(sizeof(ALGraph));
    CreateGraph(Graph);
    DisplayGraph(Graph);

    system("pause");
}

void CreateGraph(ALGraph *G)
{
    int i,j,k;
    ArcNode *arcNode;
    printf_s("請輸入頂點數(shù)和邊數(shù):");
    scanf_s("%d,%d",&G->vexNum, &G->arcNum);

    //建立頂點表
    printf_s("建立頂點表\n");
    for (i = 0; i < G->vexNum; i++)
    {
        printf_s("請輸入第%d個頂點:", i);
        fflush(stdin);//刷新緩沖區(qū)
        G->verTices[i].data = getchar();
        G->verTices[i].firstArc = NULL;
    }

    //建立邊表
    printf_s("建立邊表\n");
    for (k = 0; k < G->arcNum; k++)
    {
        printf_s("請輸入(vi-vj)的頂點對序號");
        scanf_s("%d,%d", &i, &j);
        arcNode = (ArcNode *)malloc(sizeof(ArcNode));
        arcNode->adjvex = j;
        arcNode->nextArc = G->verTices[i].firstArc;//插入表頭
        G->verTices[i].firstArc = arcNode;

        arcNode = (ArcNode *)malloc(sizeof(ArcNode));
        arcNode->adjvex = i;
        arcNode->nextArc = G->verTices[j].firstArc;//插入表頭
        G->verTices[j].firstArc = arcNode;
    }
}

void DisplayGraph(ALGraph *G)
{
    int i;
    for (i = 0; i < G->vexNum; i++)
    {
        printf_s("%d->", i);
        while (G->verTices[i].firstArc != NULL)
        {
            printf_s("%d->", G->verTices[i].firstArc->adjvex);
            G->verTices[i].firstArc = G->verTices[i].firstArc->nextArc;
        }
        printf_s("\n");
    }
}



復(fù)制代碼 代碼如下:

請輸入頂點數(shù)和邊數(shù):6,7
建立頂點表
請輸入第0個頂點:0
請輸入第1個頂點:1
請輸入第2個頂點:2
請輸入第3個頂點:3
請輸入第4個頂點:4
請輸入第5個頂點:5
建立邊表
請輸入(vi-vj)的頂點對序號0,1
請輸入(vi-vj)的頂點對序號0,4
請輸入(vi-vj)的頂點對序號1,4
請輸入(vi-vj)的頂點對序號1,5
請輸入(vi-vj)的頂點對序號2,3
請輸入(vi-vj)的頂點對序號2,5
請輸入(vi-vj)的頂點對序號3,5
0->4->1->
1->5->4->0->
2->5->3->
3->5->2->
4->1->0->
5->3->2->1->
請按任意鍵繼續(xù). . .

上一篇:c語言計算三角形面積代碼

欄    目:C語言

下一篇:C++非遞歸遍歷磁盤文件和遞歸遍歷磁盤文件的程序示例

本文標題:圖的鄰接表存儲表示示例講解

本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/3902.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時內(nèi)進行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有