成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

C語言如何實現(xiàn)圖的鄰接矩陣存儲操作-創(chuàng)新互聯(lián)

小編給大家分享一下C語言如何實現(xiàn)圖的鄰接矩陣存儲操作,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

在海陽等地區(qū),都構建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供網(wǎng)站設計、成都做網(wǎng)站 網(wǎng)站設計制作按需網(wǎng)站策劃,公司網(wǎng)站建設,企業(yè)網(wǎng)站建設,成都品牌網(wǎng)站建設,全網(wǎng)營銷推廣,外貿網(wǎng)站制作,海陽網(wǎng)站建設費用合理。

利用鄰接矩陣容易判定任意兩個頂點之間是否有邊(或弧)相連,并容易求得各個頂點的度。

c語言代碼實現(xiàn)如下:

#include<stdio.h>
#include<stdlib.h>
#define MAX_VER_NUM 50
typedef char VertexType;
typedef enum
{
 DG,UDG
}GraphType;
typedef struct
{
 VertexType vexs[MAX_VER_NUM]; //頂點向量
 int arcs[MAX_VER_NUM][MAX_VER_NUM]; //鄰接矩陣
 int vexnum,arcnum;   //圖的當前頂點數(shù)和弧數(shù)
 GraphType type;   //圖的種類標志
}MGraph; 
 
//根據(jù)名稱得到指定頂點在頂點集合中的下標
//vex 頂點
//return 如果找到,則返回下標,否則,返回0
int getIndexOfVexs(char vex,MGraph *MG)
{
 int i;
 for(i=1;i<=MG->vexnum;i++)
 {
 if(MG->vexs[i]==vex)
 {
 return i;
 }
 }
 return 0;
}
 
//創(chuàng)建鄰接矩陣
void create_MG(MGraph *MG)
{
 int i,j,k;
 int v1,v2,type;
 char c1,c2;
 printf("Please input graph type DG(0) or UDG(1):");
 scanf("%d",&type);
 if(type==0)
 {
 MG->type=DG;
 }
 else if(type==1)
 {
 MG->type=UDG;
 }
 else
 {
 printf("Please input correct graph type DG(0) or UDG(1)!");
 return;
 }
 printf("Please input vexnum:");
 scanf("%d",&MG->vexnum);
 printf("Please input arcnum:");
 scanf("%d",&MG->arcnum);
 getchar();
 for(i=1;i<=MG->vexnum;i++)
 {
 printf("Please input %dth vex(char):",i);
 scanf("%c",&MG->vexs[i]);
 getchar();
 }
 //初始化鄰接矩陣
 for(i=1;i<=MG->vexnum;i++)
 {
 for (j=1;j<=MG->vexnum;j++)
 {
 MG->arcs[i][j]=0;
 }
 }
 //輸入邊的信息,建立鄰接矩陣
 for(k=1;k<=MG->arcnum;k++)
 {
 printf("Please input %dth arc v1(char) v2(char):",k);
 scanf("%c %c",&c1,&c2);
 v1=getIndexOfVexs(c1,MG);
 v2=getIndexOfVexs(c2,MG);
 if(MG->type==-1)
 {
 MG->arcs[v1][v2]=MG->arcs[v2][v1]=1;
 }
 else
 {
 MG->arcs[v1][v2]=1;
 }
 getchar();
 }
}
 
//打印鄰接矩陣和頂點信息
void print_MG(MGraph MG)
{
 int i,j;
 if(MG.type==DG)
 {
 printf("Graph type: Direct graph\n");
 }
 else
 {
 printf("Graph type: Undirect graph\n");
 }
 printf("Graph vertex number: %d\n",MG.vexnum);
 printf("Graph arc number: %d\n",MG.arcnum);
 printf("Vertex set:");
 for(i=1;i<=MG.vexnum;i++)
 {
 printf("%c",MG.vexs[i]);
 }
 printf("\nAdjacency Matrix:\n");
 for(i=1;i<=MG.vexnum;i++)
 {
 for(j=1;j<=MG.vexnum;j++)
 {
 printf("%d",MG.arcs[i][j]);
 }
 printf("\n");
 }
}
 
//主函數(shù)
int main(void)
{
 MGraph MG;
 create_MG(&MG);
 print_MG(MG);
 return 0;
}

得到的結果如下圖所示:

C語言如何實現(xiàn)圖的鄰接矩陣存儲操作

以上是“C語言如何實現(xiàn)圖的鄰接矩陣存儲操作”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)網(wǎng)站建設公司行業(yè)資訊頻道!

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

當前標題:C語言如何實現(xiàn)圖的鄰接矩陣存儲操作-創(chuàng)新互聯(lián)
文章網(wǎng)址:http://jinyejixie.com/article32/dhdgpc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供外貿建站、外貿網(wǎng)站建設微信小程序、服務器托管網(wǎng)站導航、App開發(fā)

廣告

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

微信小程序開發(fā)
乌兰察布市| 济宁市| 盈江县| 清徐县| 江陵县| 汕尾市| 若尔盖县| 邢台市| 凌源市| 凌源市| 石家庄市| 财经| 扶绥县| 宾阳县| 顺昌县| 隆化县| 新宁县| 宝坻区| 崇左市| 关岭| 江门市| 江城| 扶余县| 新津县| 孟村| 寿宁县| 句容市| 宜阳县| 贵定县| 陇南市| 木里| 四子王旗| 台安县| 竹溪县| 新建县| 如皋市| 兴隆县| 蒙山县| 湖北省| 介休市| 泸州市|