91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

如何在C++中構建復雜圖結構

c++
小樊
84
2024-08-23 15:07:35
欄目: 編程語言

在C++中構建復雜圖結構可以使用多種方法,其中一種常用的方法是使用鄰接列表或鄰接矩陣來表示圖結構。以下是一個簡單的示例,展示如何在C++中構建一個有向圖的鄰接列表表示:

#include <iostream>
#include <vector>

using namespace std;

// 定義圖結構
class Graph {
private:
    int V; // 頂點數
    vector<vector<int>> adjList; // 鄰接列表

public:
    Graph(int vertices) {
        V = vertices;
        adjList.resize(V);
    }

    // 添加邊
    void addEdge(int src, int dest) {
        adjList[src].push_back(dest);
    }

    // 打印圖結構
    void printGraph() {
        for (int i = 0; i < V; i++) {
            cout << "頂點 " << i << " 的鄰居: ";
            for (int neighbor : adjList[i]) {
                cout << neighbor << " ";
            }
            cout << endl;
        }
    }
};

int main() {
    Graph graph(4);
    graph.addEdge(0, 1);
    graph.addEdge(0, 2);
    graph.addEdge(1, 2);
    graph.addEdge(2, 3);

    graph.printGraph();

    return 0;
}

在這個示例中,我們首先定義了一個Graph類來表示圖結構,其中包含一個頂點數V和一個鄰接列表adjList。然后我們實現了addEdge方法來添加邊,printGraph方法來打印圖結構。

在main函數中,我們創建了一個有向圖,并添加了一些邊。最后調用printGraph方法來打印圖結構。

通過這種方式,我們可以很容易地構建復雜的圖結構,并對其進行操作。您也可以根據需要擴展這個示例,添加更多的方法來實現不同的圖算法。

0
远安县| 阿勒泰市| 安西县| 团风县| 沧源| 达尔| 嘉黎县| 玉溪市| 凤山县| 丹江口市| 鄱阳县| 建宁县| 虹口区| 丰宁| 淮滨县| 东丰县| 特克斯县| 菏泽市| 民和| 贵德县| 五莲县| 曲麻莱县| 东平县| 普安县| 云林县| 海盐县| 望城县| 武冈市| 普定县| 屏东市| 湟源县| 邮箱| 鄂伦春自治旗| 云浮市| 紫金县| 饶平县| 江孜县| 宾阳县| 尚志市| 文水县| 武威市|