国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

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

2020-01-26 15:41:23
字體:
供稿:網(wǎng)友

復制代碼 代碼如下:

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

#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");
    }
}



復制代碼 代碼如下:

請輸入頂點數(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ù). . .

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 富宁县| 绍兴县| 靖安县| 通渭县| 徐汇区| 濉溪县| 博野县| 稻城县| 洮南市| 都匀市| 定襄县| 安达市| 阿坝县| 家居| 公主岭市| 宽甸| 丹凤县| 军事| 彰化市| 嘉义市| 多伦县| 霸州市| 榕江县| 通城县| 嘉祥县| 逊克县| 三台县| 怀宁县| 天峨县| 柏乡县| 方城县| 拉孜县| 盖州市| 桂林市| 怀来县| 碌曲县| 湄潭县| 大邑县| 宁明县| 师宗县| 南宁市|