0
点赞
收藏
分享

微信扫一扫

选择合适的存储结构存储无向图

AbrahamW 2022-02-27 阅读 106

选择合适的存储结构存储无向图,要求完成如下功能:

①创建:输入顶点和边的信息,创建图;

②查询:输入顶点,所有与其关联的其余顶点;

③深度优先遍历:指定起点,输出深度优先序列;

④广度优先遍历:指定起点,输出广度优先序列;

⑤叶子结点信息:输出每个叶子结点的值,并统计叶子结点总数;

⑥二叉树深度:输出二叉树的深度值。

#include<iostream>
#include<queue>
using namespace std;
bool DFSvisited[50];//bool型数组,用来标记已经遍历过的
bool BFSvisited[50];
typedef struct EdgeNode//边结点
{
    int adjvex;//整型数据
    struct EdgeNode * next;//指向下一个节点
} EdgeNode;
typedef struct//顶点表节点结构
{
    string data;
    EdgeNode * firstedge;//指向边表的第一个节点
} AdjList;
typedef struct//图的邻接表结构
{
    AdjList adjList[20];//定义数组用于储存顶点
    int numVertex,numEdge;
} GraphAdjList;
int local(GraphAdjList G,string val)//确定边所在的位置
{
    for(int i=0; i<G.numVertex; i++)
    {
        if(G.adjList[i].data==val)
            return i;
    }
    return -1;
}
 void CreateGra
举报

相关推荐

0 条评论