欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

圖的鄰接表存儲(chǔ)表示示例講解

 更新時(shí)間:2013年11月26日 09:36:40   作者:  
這篇文章主要介紹了圖的鄰接表存儲(chǔ)表示,大家參考使用

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

//---------圖的鄰接表存儲(chǔ)表示-------

#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("請(qǐng)輸入頂點(diǎn)數(shù)和邊數(shù):");
    scanf_s("%d,%d",&G->vexNum, &G->arcNum);

    //建立頂點(diǎn)表
    printf_s("建立頂點(diǎn)表\n");
    for (i = 0; i < G->vexNum; i++)
    {
        printf_s("請(qǐng)輸入第%d個(gè)頂點(diǎn):", 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("請(qǐng)輸入(vi-vj)的頂點(diǎn)對(duì)序號(hào)");
        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ù)制代碼 代碼如下:

請(qǐng)輸入頂點(diǎn)數(shù)和邊數(shù):6,7
建立頂點(diǎn)表
請(qǐng)輸入第0個(gè)頂點(diǎn):0
請(qǐng)輸入第1個(gè)頂點(diǎn):1
請(qǐng)輸入第2個(gè)頂點(diǎn):2
請(qǐng)輸入第3個(gè)頂點(diǎn):3
請(qǐng)輸入第4個(gè)頂點(diǎn):4
請(qǐng)輸入第5個(gè)頂點(diǎn):5
建立邊表
請(qǐng)輸入(vi-vj)的頂點(diǎn)對(duì)序號(hào)0,1
請(qǐng)輸入(vi-vj)的頂點(diǎn)對(duì)序號(hào)0,4
請(qǐng)輸入(vi-vj)的頂點(diǎn)對(duì)序號(hào)1,4
請(qǐng)輸入(vi-vj)的頂點(diǎn)對(duì)序號(hào)1,5
請(qǐng)輸入(vi-vj)的頂點(diǎn)對(duì)序號(hào)2,3
請(qǐng)輸入(vi-vj)的頂點(diǎn)對(duì)序號(hào)2,5
請(qǐng)輸入(vi-vj)的頂點(diǎn)對(duì)序號(hào)3,5
0->4->1->
1->5->4->0->
2->5->3->
3->5->2->
4->1->0->
5->3->2->1->
請(qǐng)按任意鍵繼續(xù). . .

相關(guān)文章

  • 深度探究C++中的函數(shù)重載的用法

    深度探究C++中的函數(shù)重載的用法

    這篇文章主要介紹了C++中的函數(shù)重載用法,包括重載時(shí)參數(shù)類型的差異以及匹配和轉(zhuǎn)換等方面問題的講解,需要的朋友可以參考下
    2016-01-01
  • C++實(shí)現(xiàn)教務(wù)管理系統(tǒng)

    C++實(shí)現(xiàn)教務(wù)管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)教務(wù)管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • 詳解如何使用C++寫一個(gè)線程安全的單例模式

    詳解如何使用C++寫一個(gè)線程安全的單例模式

    這篇文章主要為大家詳細(xì)介紹了如何使用C++寫一個(gè)線程安全的單例模式,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下
    2022-10-10
  • C語言?for循環(huán)示例詳解

    C語言?for循環(huán)示例詳解

    本文將詳細(xì)介紹for循環(huán)的用法并提供相關(guān)的可編譯運(yùn)行的C代碼示例,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,感興趣的朋友一起看看吧
    2023-06-06
  • opencv提取外部輪廓并在外部加矩形框

    opencv提取外部輪廓并在外部加矩形框

    這篇文章主要為大家詳細(xì)介紹了opencv提取外部輪廓并在外部加矩形框,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • 詳解C++ 模板編程

    詳解C++ 模板編程

    模板(template)是C++實(shí)現(xiàn)泛型(Generics)和元編程(Meta Programming)的基礎(chǔ)。本文拋磚引玉,簡(jiǎn)要介紹C++模板編程,不足之處敬請(qǐng)指正。
    2020-09-09
  • 基于QT5實(shí)現(xiàn)一個(gè)時(shí)鐘桌面

    基于QT5實(shí)現(xiàn)一個(gè)時(shí)鐘桌面

    這篇文章主要介紹了利用QT5實(shí)現(xiàn)的一個(gè)時(shí)鐘桌面,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定的幫助,感興趣的小伙伴可以了解一下
    2022-01-01
  • C/C++編譯器GCC下的常用編譯命令總結(jié)

    C/C++編譯器GCC下的常用編譯命令總結(jié)

    這篇文章主要介紹了C/C++編譯器GCC下的常用編譯命令總結(jié),本文的示例環(huán)境為Linux系統(tǒng),需要的朋友可以參考下
    2015-08-08
  • include包含頭文件的語句中,雙引號(hào)和尖括號(hào)的區(qū)別(詳解)

    include包含頭文件的語句中,雙引號(hào)和尖括號(hào)的區(qū)別(詳解)

    下面小編就為大家?guī)硪黄猧nclude包含頭文件的語句中,雙引號(hào)和尖括號(hào)的區(qū)別(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-07-07
  • 解決C語言輸入單個(gè)字符屏蔽回車符的問題

    解決C語言輸入單個(gè)字符屏蔽回車符的問題

    這篇文章主要介紹了解決C語言輸入單個(gè)字符屏蔽回車符的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12

最新評(píng)論