您的位置:首页 > 理论基础 > 数据结构算法

浅析数据结构-图的基本概念

2015-08-26 14:18 645 查看
线性表和树两类数据结构,线性表中的元素是“一对一”的关系,树中的元素是“一对多”的关系,本章所述的图结构中的元素则是“多对多”的关系。图(Graph)是一种复杂的非线性结构,在图结构中,每个元素都可以有零个或多个前驱,也可以有零个或多个后继,也就是说,元素之间的关系是任意的。

#include <iostream>
#include "GraphData.h"
using namespace std;
//

void PrintGrgph(GraphList *pGraphList)
{
int i =0;
while(pGraphList->vertexList[i].pFirstNode != NULL && i<MAXVEX)
{
printf("顶点:%c  ",pGraphList->vertexList[i].nNodeData);
EdgeNode *e = NULL;
e = pGraphList->vertexList[i].pFirstNode;
while(e != NULL)
{
printf("%d  ", e->nNodevex);
e = e->next;
}
i++;
printf("\n");
}

}
int main()
{
int numVexs,numEdges;
GraphData* pTestGraph = new GraphData();
GraphArray graphArray;
GraphArray* pGraphArray = &graphArray;
GraphList* pGgraphList = new GraphList();

cout<<"输入顶点数和边数"<<endl;
cin>>numVexs>>numEdges;
cout<<"顶点数和边数为:"<<numVexs<<numEdges<<endl;

/*pTestGraph->CreateGraphArray(pGraphArray,numVexs,numEdges);
for(int i = 0; i< numEdges;i++)
{
for (int j = 0;j< numEdges;j++)
{
cout<<pGraphArray->arg[i][j];
}
cout<<endl;
}*/
pTestGraph->CreateGraphList(pGgraphList,numVexs,numEdges);
PrintGrgph(pGgraphList);
system("pause");
}


TestGraph
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: