数据结构里面的一道基础题,分享下自己的写法,验证可跑。
#include<iostream>
#include<string>
const int MAX = 20;
using namespace std;
struct ArcNode { //弧结点
int adjvex = -1; //所指顶点位置
ArcNode *nextarc = nullptr; //下一条狐指针
size_t info = 0; //弧信息
};
struct VNode { //顶点
string data = "0";
ArcNode *firstarc = nullptr; //第一条依附该顶点的弧的指针
};
struct Graph { //图结构
VNode vertices[MAX]; //全部顶点
int vexnum, arcnum; //顶点数和弧数
Graph(int m, int n) :vexnum(m), arcnum(n) {};
Graph() :vexnum(0), arcnum(0) {};
};
int main()
{
int vnum, anum, tempanum = 0;
cout << "输入顶点数:";
cin >> vnum;
cout << "输入弧数:";
cin >> anum;
cout << "\n\n";
Graph G(vnum, anum);