//-------------图的邻接表存储表示-------------
#include<iostream>
using namespace std;
#define MVNum 100               //最大顶点数
typedef struct ArcNode          //边结点
{int adjvex;                    //该边指向的顶点的位置struct ArcNode* nextarc;    //指向下一条边的指针
}ArcNode;
typedef struct VNode            //顶点信息
{int data;ArcNode* firstarc;            //指向第一条依附该顶点的边的指针
}VNode,AdjList[MVNum];          //AdjList表示邻接表类型
typedef struct                  //邻接表
{AdjList vertices;int vexnum, arcnum;           //图的当前边数和顶点数
}ALGraph;
void CreateUDG(ALGraph& G)
{cin >> G.vexnum>>G.arcnum;for (int i = 0; i < G.vexnum; ++i){cin >> G.vertices[i].data;G.vertices[i].firstarc = NULL;//初始化表头节点的指针域为NULL}for (int k = 0; k < G.arcnum; ++k){int v1, v2;cin >> v1 >> v2;//i=LocateVex(G,v1);j=LocateVex(G,v2);//确定v1和v2在G中的位置,即顶点在G。vertices中的序号ArcNode* p1 = new ArcNode();//一个新的边结点//接下来的部分i代替v1,j代替v2p1->adjvex = v2;//邻接点序号为jp1->nextarc = G.vertices[v1].firstarc;G.vertices[v1].firstarc = p1;//将新结点插入顶点vi的边表头部ArcNode* p2 = new ArcNode();//一个新的边结点//接下来的部分i代替v1,j代替v2p2->adjvex = v1;//邻接点序号为v1p2->nextarc = G.vertices[v2].firstarc;G.vertices[v2].firstarc = p2;//将新结点插入顶点vj的边表头部}
}

图(一):图的邻接表表示相关推荐

  1. 图的存储结构——邻接表法

    图的存储结构--邻接表法 一.邻接表 ​ 由顶点表和边表构成,顶点表由顶点域(data)和指向第一条邻接边的指针(firstarc)构成,边表(邻接表)结点由邻接点域(adjvex)和指向下一条邻接边 ...

  2. 实现图的邻接矩阵和邻接表存储

    /** *    实验题目: *        实现图的邻接矩阵和邻接表存储 *    实验目的: *        领会图的两种主要存储结构和图基本运算算法设计 *    实验内容: *       ...

  3. 实现图的邻接矩阵和邻接表的存储

    十五,实现图的邻接矩阵和邻接表的存储 #include<stdio.h> #include<stdlib.h> #define max 100 #define INF 3276 ...

  4. 5-3 本题要求实现对图的深度优先遍历。 本题中图的表示采用邻接表表示

    程序填空题 5-3 本题要求实现对图的深度优先遍历. 本题中图的表示采用邻接表表示 #include <stdlib.h> #include <stdio.h>typedef ...

  5. 有向无环图(邻接矩阵和邻接表)

    一.图的定义 图是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为: G=(V,E) 其中:G表示一个图,V是图G中顶点的集合,E是图G中顶点之间边的集合. 注: 在线性表中,元素个数可以为零, ...

  6. 图的存储结构---邻接表

    1. 邻接表(无向图) 对于边数相对顶点较少的图,可采取邻接表. 把数组与链表结合在一起来存储,这种方式在图结构也适用,称为邻接表(AdjacencyList). 2. 邻接表(有向图) 以每个顶点出 ...

  7. c语言邻接表的构建_c语言数据结构--图的邻接矩阵和邻接表操作的基本操作

    #include #include #include #define MAX 100 typedef char DataType; typedef int VectorRelationType; ty ...

  8. 数据结构之图的创建(邻接表)

    数据结构之图的基本概念中了解了图的基本概念,接下来对图的代码实现进行详解. 邻接无向图 1. 邻接表无向图介绍 邻接表无向图是指通过邻接表表示的无向图. 上面的图G1包含了"A,B,C,D, ...

  9. 图的存储 邻接矩阵+邻接表+链式前向星

    图的存储 - 邻接矩阵 在树的问题中,邻接矩阵是空间.时间的极大浪费. 假设树的结点个数为 N = 100000. 建立邻接矩阵需要空间为 1e5*1e5 但是由于只有 N - 1 条边,所以在邻接矩 ...

  10. DS树+图综合练习--构建邻接表

    题目描述 已知一有向图,构建该图对应的邻接表.邻接表包含数组和单链表两种数据结构,其中每个数组元素也是单链表的头结点,数组元素包含两个属性,属性一是顶点编号info,属性二是指针域next指向与它相连 ...

最新文章

  1. 【机器学习】HOG detectMultiScale 参数分析
  2. mybatis 动态 SQL
  3. python中fork创建新的进程
  4. POJ-1125 Stockbroker Grapevine 最短路
  5. java 异常管理员_java web在进行管理员操作的时候,抛出了下面的异常,怎么解决啊...
  6. 关于RT-Thread的背景和成长
  7. GCC-__attribute__()(一)属性机制
  8. Netty工作笔记0066---Netty核心模块内容梳理
  9. CatBoost的Python与R实现
  10. bat脚本实现微信多开
  11. 拼多多业绩增长难继,品牌形象陷于信任危机
  12. 云服务器无法连接怎么办
  13. 齐齐哈尔鹤城计算机学校,齐齐哈尔市鹤城高级中学
  14. 3.2nbsp;系统分析之正反馈
  15. FPGA 驱动HDC1080温湿度模块
  16. Linux远程管理常用命令(超全超详细)【持续更新】
  17. 【NOI2007】社交网络
  18. ENVI中出现tif文件无法直接打开
  19. 锐捷ac怎么发现局域网ap_【实战】锐捷AC+AP配置WLAN基本服务系列
  20. Nginx教程 安装

热门文章

  1. 图 Graph-图的相关算法
  2. 使用 artTemplate 渲染数组
  3. Linux下文件操作命令cat(转)
  4. Mysql 5.6 慢日志配制
  5. iOS--UIView和UIWindow用法
  6. Unix/Linux环境C编程入门教程(24) MySQL 5.7.4 for Red Hat Enterprise 7(RHEL7)的安装
  7. chmod命令用法_Java开发人员必须掌握的Linux命令(一)
  8. 拓端tecdat|R语言使用灰色关联分析(Grey Relation Analysis,GRA)中国经济社会发展指标
  9. 利用mysql的预编译机制_Mysqli的预编译机制处理批量数据过程
  10. (2)一元多项式的乘法与加法运算 (20 分)