#include

#include

#include

/*

利用十字链表存储有向图,可用于同时查找某个顶点的出度与入度;

*/

typedef struct edge {//顶点表

int headvex, tailvex;//headvex弧的七点在顶点表中的下标,tailvex是边的重点在顶点表中的下标

edge *headlink, *taillink;//headlink指向与边相同起点的边,taillink指向与边相同终点的边

}Edge;

typedef struct vex {//边表

int data;//顶点表数据

Edge *firstin, *firstout;//firstin表示指向第一个入边,firstout指向第一个出边

}Vex;

typedef struct vexedge {

Vex ve[];

int vexnum, edgenum;

}Vexedge;

//创建表

void create(Vexedge *v) {

Edge *e;

int i, j, k;

printf("请输入顶点个数与边的条数:");

scanf("%d%d", &v->vexnum, &v->edgenum);

for (i = ; ivexnum; i++) {//初始化顶点表

printf("请输入顶点的值:");

scanf("%d", &v->ve[i].data);

v->ve[i].data = getchar();

v->ve[i].firstin = NULL;

v->ve[i].firstout = NULL;

}

for (k = ; kedgenum; k++) {//初始化边表

printf("请输入边的顶点坐标");

scanf("%d%d", &i, &j);

e = (Edge *)malloc(sizeof(Edge));

e->headvex = i;

e->tailvex = j;

e->headlink = v->ve[i].firstout;

e->taillink = v->ve[j].firstin;

v->ve[i].firstout = e;

v->ve[j].firstin = e;

}

}

void degree(int n, Vexedge v) {

int sumin = , sumout = ;

Edge *e1, *e2;

e2 = v.ve[n].firstout;

e1 = v.ve[n].firstin;

while (e1) {

sumin++;

e1 = e1->taillink;

}

while (e2) {

sumout++;

e2 = e2->headlink;

}

printf("出度为:%d 入度为:%d", sumout, sumin);

}

int main() {

Vexedge v;

int m;

create(&v);

printf("请输入你想要查询的顶点:");

scanf("%d", &m);

degree(m, v);

getch();

return ;

}

利用十字链表压缩稀疏矩阵(c++)-- 数据结构

题目: 7-1 稀疏矩阵 (30 分)   如果一个矩阵中,0元素占据了矩阵的大部分,那么这个矩阵称为“稀疏矩阵”.对于稀疏矩阵,传统的二维数组存储方式,会使用大量的内存来存储0,从而浪费大量内存.为 ...

数据结构之---C++语言实现图的十字链表存储表示

近期一直忙着考研复习,非常久都没有更新博客了.今天写一篇数据结构的存储. //有向图的十字链表存储表示 //杨鑫 #include #include

数据结构C语言版 有向图的十字链表存储表示和实现

/*1wangxiaobo@163.com 数据结构C语言版 有向图的十字链表存储表示和实现 P165 编译环境:Dev-C++ 4.9.9.2 */ #include ...

javascript实现数据结构:稀疏矩阵的十字链表存储表示

当矩阵的非零个数和位置在操作过程中变化大时,就不宜采用顺序存储结构来表示三元组的线性表.例如,在作“将矩阵B加到矩阵A上”的操作时,由于非零元的插入或删除将会引起A.data中元素的移动.为此,对这种 ...

利用Arraylist输入学生的成绩,求出平均分和总分。

Console.WriteLine("请输入学生人数:"); int n=int.Parse(Console.ReadLine()); ArrayList arr= new Arr ...

图->存储结构->十字链表

文字描述 十字链表是有向图的另一种链式存储结构. 在十字链表中,对应于有向图中每一条弧有一个结点,对应于每个顶点也有一个结点.这些结点的结构如下所示: 在弧结点中有5个域: 尾域tailvex和头域h ...

[game]十字链表的AOI算法实现

AOI主要有九宫格.灯塔和十字链表的算法实现.本文阐述十字链表的实现和尝试. 1. 基本原理 根据二维地图,将其分成x轴和y轴两个链表.如果是三维地图,则还需要维护多一个z轴的链表.将对象的坐标值按照 ...

链表插入和删除,判断链表是否为空,求链表长度算法的,链表排序算法演示——C语言描述

关于数据结构等的学习,以及学习算法的感想感悟,听了郝斌老师的数据结构课程,其中他也提到了学习数据结构的或者算法的一些个人见解,我觉的很好,对我的帮助也是很大,算法本就是令人头疼的问题,因为自己并没有学 ...

数据结构之---C语言实现广义表头尾链表存储表示

//广义表的头尾链表存储表示 //杨鑫 #include #include #include #in ...

随机推荐

.NET微信通过授权获取用户的基本信息

一.填写授权回调页面的域名 二.引导用户到指定的授权页面 例如:https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID& ...

xcode8继续愉快的使用插件

https://github.com/inket/update_xcode_plugins https://github.com/fpg1503/MakeXcodeGr8Again xcode8增加了 ...

reStructuredText

reStructuredText 简明教程 060724 17:58 作者: Laurence 邮箱: 2999am@gmail.com ID: Kardinal @ Ubuntu.org.cn论坛 ...

骑士飞行棋 C#代码详解

最近看见一个骑士飞行棋的小游戏代码,感觉这个代码中将大多数C#的基础知识都运用到了,是一个新手检验学习成果的有效方法,特此将这个代码整理一遍.这是一个控制台程序.这是代码下载地址,代码中的注释非常详细 ...

一起啃PRML - 1.1 Example: Polynomial Curve Fitting 多项式曲线拟合

一起啃PRML - 1.1 Example: Polynomial Curve Fitting @copyright 转载请注明出处 http://www.cnblogs.com/chxer/ 前言: ...

Install MongoDB on Windows

Overview Use this tutorial to install MongoDB on a Windows systems. PLATFORM SUPPORT Starting in ver ...

JSP 初始化参数

JSP 初始化参数: tomcat启动的时候就会执行那个函数: xml: <?xml version="1.0" encoding="UTF-8"?&gt ...

洛谷 P1032 【字串变换】

感觉这个题用一些常用的stl和string函数会非常简单..(难道就是考这两个的吗? vector>pos//用于变化 map

vue中如何动态的绑定图片,vue中通过data返回图片路径

在项目中遇到需要动态的改变图片路径,图片路径并非是从后台获取过来的数据. 因此在data中必须用require加载,否则会当成字符串来处理. 效果:

c语言建立并存储树,利用十字链表存储树结构(便于同时求出某一点的入度与出度)------C语言实现...相关推荐

  1. 图十字链表并求度c语言,利用十字链表存储树结构(便于同时求出某一点的入度与出度)------C语言实现...

    #include #include #include /* 利用十字链表存储有向图,可用于同时查找某个顶点的出度与入度: */ typedef struct edge{//顶点表 int headve ...

  2. 有向图的十字链表存储

    /* c7-3.h 有向图的十字链表存储表示 */#define MAX_VERTEX_NUM 20typedef struct ArcBox{int tailvex,headvex; /* 该弧的尾 ...

  3. 图的十字链表存储结构

    前面介绍了图的邻接表存储法,本节继续讲解图的另一种链式存储结构--十字链表法. 与邻接表不同,十字链表法仅适用于存储有向图和有向网.不仅如此,十字链表法还改善了邻接表计算图中顶点入度的问题. 十字链表 ...

  4. 图的十字链表存储法详解

    前面介绍了图的邻接表存储法,本节继续讲解图的另一种链式存储结构--十字链表法. 与邻接表不同,十字链表法仅适用于存储有向图和有向网.不仅如此,十字链表法还改善了邻接表计算图中顶点入度的问题. 十字链表 ...

  5. 已知一棵二叉树的中序序列和后序序列,写一个建立该二叉树的二叉链表存储结构的算法...

    已知一棵二叉树的中序序列和后序序列,写一个建立该二叉树的二叉链表存储结构的算法 #define N 10 //二叉树节点的个数 char postorderstr[]={};//后序序列 char i ...

  6. 稀疏矩阵十字链表类java_稀疏矩阵的十字链表存储表示

    typedef struct OLNode{ int  i,j;                 //该非零元的行列下标 ElemType    e; struct  OLNode    *right ...

  7. 5.3稀疏矩阵的十字链表存储

    十字链表产生原因:当矩阵的非零元个数和位置在操作过程中变化较大时,就不宜采用顺序存储结构来表示三元组的线性表. 十字链表特点: 每一个非零元开用含5个域的结点表示,其中i.j和e这3个域分别表示该非零 ...

  8. 数据结构之图的存储结构:十字链表法

    图的存储结构:十字链表法 思维导图: 产生条件: 十字链表法的定义: 十字链表法的代码定义: 性能分析: 思维导图: 产生条件: 当用邻接矩阵存储时:空间复杂度为O(|v|^2),太大 当用邻接表法存 ...

  9. 稀疏矩阵的十字链表存储表示和实现(第五章 P104 算法5.4)

    稀疏矩阵的十字链表存储 当矩阵的非零元个数和位置在操作过程中变化较大时,就不宜采用顺序存储结构来表示三元组的线性表.对这种类型的矩阵,采用链式存储结构表示三元组的线性表更为恰当. 在链表中,每个非零元 ...

最新文章

  1. linux 找出谁杀了进程
  2. WSS中的SPSite和SPWeb为什么需要释放内存,如何快速发现代码中的未释放内存
  3. Laravel 实现定时任务
  4. mvc:annotation-driven 注解的作用
  5. Python 面向对象(二)
  6. URAL 1664 Pipeline Transportation
  7. 网络博客营销之博客设置和优化
  8. JAVA 如何将String进行大小写转换
  9. 洛阳地铁一号线无人驾驶_洛阳地铁第一个过街通道建成,地铁时代离洛阳人还远吗?...
  10. 为了IT,加强身体锻炼之【双盘腿打坐的好处】
  11. android实时抓取屏幕文字,Android录制屏幕的实现方法
  12. Pyinstaller Pmw
  13. powerdesigner 导入sql文件生成模型
  14. 抖音、猫眼网页信息加密分析与应对(1)
  15. window创建l2tp
  16. AMiner权威发布区块链大数据报告(附下载)
  17. 洛谷P2356 弹珠游戏
  18. 909. 蛇梯棋-广度优先遍历
  19. 二维数组转为json后,ajax这边拼接成表格 要循环??具体怎么写了 ,,
  20. 定时器计数器中央双向对齐模式1/2/3

热门文章

  1. 数据结构:弗洛伊德算法(最短路径)图文详解
  2. Ubuntu-安装输入法
  3. hook微信 python_GitHub - zkqiang/wechathook: 借助微信hook,拦截修改某些call,填充进我们的Python代码,进行微信公众号文章的爬取...
  4. Schwartz-Zippel Lemma
  5. C/C++ tip: How to detect the operating system type using compiler predefined macros
  6. 西门子逻辑运算指令_西门子plc 算术、逻辑运算指令
  7. 前端开发环境搭建(工具使用)
  8. 混合动力汽车用导热电池粘合剂市场现状及未来发展趋势
  9. [ZJOI2009]狼和羊的故事 题解
  10. windows微信双开