最近一直忙着考研复习,很久都没有更新博客了,今天写一篇数据结构的存储。
//有向图的十字链表存储表示
//杨鑫
#include <iostream>
#include <cstdio>
#include <stdlib.h>
#include <cstring>
using namespace std;
#define MAX_VERTEX_NUM 20
#define OVERFLOW -2
#define OK 1
typedef int Status;
typedef char VertexType[MAX_VERTEX_NUM];
typedef char InfoType;
//弧(边)的结构体
typedef struct ArcBox
{
int tailvex,headvex; //该弧的尾和头顶点的位置
struct ArcBox *hlink, *tlink; //分别为弧头相同和弧尾相同的弧的链域
InfoType *info; //该弧的相关信息的指针
}ArcBox;
//顶点的结构体
typedef struct VexNode
{
VertexType data;
ArcBox *firstin, *firstout; //分别指向该顶点的第一条入弧和出弧
}VexNode;
//有向图的结构体
typedef struct
{
VexNode xlist[MAX_VERTEX_NUM]; //表头向量
int vexnum, arcnum;