卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

如何創(chuàng)建無向圖以及輸入代碼步驟

無向圖是指沒有方向的圖,即任意兩個(gè)頂點(diǎn)之間都可以互相到達(dá)。在計(jì)算機(jī)科學(xué)中,無向圖被廣泛運(yùn)用于各種算法與數(shù)據(jù)結(jié)構(gòu)中。1. 定義循環(huán)變量和鄰接元素要?jiǎng)?chuàng)建無向圖,我們需要定義三個(gè)循環(huán)變量 i、j、k 和兩個(gè)

無向圖是指沒有方向的圖,即任意兩個(gè)頂點(diǎn)之間都可以互相到達(dá)。在計(jì)算機(jī)科學(xué)中,無向圖被廣泛運(yùn)用于各種算法與數(shù)據(jù)結(jié)構(gòu)中。

1. 定義循環(huán)變量和鄰接元素

要?jiǎng)?chuàng)建無向圖,我們需要定義三個(gè)循環(huán)變量 i、j、k 和兩個(gè)鄰接元素 v 和 w。這些變量將會(huì)在后面的步驟中被使用。

```

int i, j, k, v, w;

```

2. 定義弧結(jié)構(gòu)指針

為了方便操作無向圖,我們需要定義兩個(gè)弧結(jié)構(gòu)指針 p 和 q。

```

struct arc {

int adjvex; // 鄰接點(diǎn)

struct arc *nextarc; // 指向下一個(gè)弧結(jié)構(gòu)的指針

};

typedef struct arc *ArcP;

struct vertex {

int data; // 頂點(diǎn)存儲(chǔ)的數(shù)據(jù)

ArcP firstarc; // 指向第一個(gè)鄰接點(diǎn)的弧結(jié)構(gòu)指針

};

typedef struct vertex VertexType;

```

3. 定義權(quán)值變量

如果需要給無向圖加上權(quán)值,則需要定義一個(gè)權(quán)值變量 weight。

```

int weight;

```

4. 輸入頂點(diǎn)數(shù)和弧數(shù)

首先,我們需要輸入無向圖中的頂點(diǎn)數(shù)和弧數(shù)。這里我們假設(shè)頂點(diǎn)數(shù)為 n,弧數(shù)為 m。

```

int n, m;

printf("請(qǐng)輸入頂點(diǎn)數(shù)和弧數(shù):");

scanf("%d %d", n, m);

```

5. 輸入頂點(diǎn)元素

接下來,我們需要輸入每個(gè)頂點(diǎn)存儲(chǔ)的數(shù)據(jù)信息。

```

VertexType vertexList[n]; // 定義一個(gè)長(zhǎng)度為 n 的頂點(diǎn)數(shù)組

for (i 0; i < n; i ) {

printf("請(qǐng)輸入第 %d 個(gè)頂點(diǎn)的數(shù)據(jù):", i 1);

scanf("%d", vertexList[i].data);

vertexList[i].firstarc NULL; // 初始化頂點(diǎn)的第一個(gè)鄰接點(diǎn)

}

```

6. 輸入鄰接點(diǎn)

最后,我們需要輸入每個(gè)頂點(diǎn)的鄰接點(diǎn)信息,從而創(chuàng)建圖的邊。

```

for (k 0; k < m; k ) {

printf("請(qǐng)輸入第 %d 條邊的兩個(gè)端點(diǎn):", k 1);

scanf("%d %d", v, w);

// 創(chuàng)建一條從 v 到 w 的邊

p (ArcP) malloc(sizeof(struct arc)); // 分配內(nèi)存空間

p->adjvex w;

p->nextarc vertexList[v-1].firstarc; // 將 p 插入到 v 的鄰接表中

vertexList[v-1].firstarc p;

// 創(chuàng)建一條從 w 到 v 的邊

q (ArcP) malloc(sizeof(struct arc)); // 分配內(nèi)存空間

q->adjvex v;

q->nextarc vertexList[w-1].firstarc; // 將 q 插入到 w 的鄰接表中

vertexList[w-1].firstarc q;

}

```

以上就是創(chuàng)建無向圖的具體步驟,通過以上方法,我們可以輕松地創(chuàng)建一張無向圖,并且輸入不同的頂點(diǎn)和邊信息。

標(biāo)簽: